Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

Welcome to Software Development on Codidact!

Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.

Post History

66%
+2 −0
Q&A Using Lua's `os.rename` to rename a file from a hard drive to a new location on a USB flash drive

I'm using the os.rename function in a lua script. It works perfectly fine for renaming files on my hard drive, e.g. os.rename("test.txt","/Users/username/Desktop/test2.txt") will rename the fil...

1 answer  ·  posted 2y ago by samcarter‭  ·  last activity 2y ago by Peter Taylor‭

#7: Nominated for promotion by user avatar Alexei‭ · 2022-10-08T09:45:51Z (about 2 years ago)
#6: Post edited by user avatar samcarter‭ · 2022-10-04T22:33:34Z (about 2 years ago)
  • Using Lua's `os.rename` on a mac to rename files on a USB flash drive
  • Using Lua's `os.rename` to rename a file from a hard drive to a new location on a USB flash drive
#5: Post edited by user avatar samcarter‭ · 2022-10-04T22:31:56Z (about 2 years ago)
  • I'm using the `os.rename` function in a lua script. It works perfectly fine for renaming files on my hard drive, e.g.
  • ```
  • os.rename("test.txt","/Users/username/Desktop/test2.txt")
  • ```
  • will rename the file as desired.
  • However if source file is on my hard drive and the target file is on a USB flash drive, the following operation
  • ```
  • os.rename("test.txt","/Volumes/FLASHDRIVE/test2.txt")
  • ```
  • will fail with the message
  • > Cross-device link
  • which seems to indicate that the problem is that that source and target are on different file systems.
  • Is there any way to get `os.rename` to work in such a case or should I better resort to a workaround like
  • ```
  • os.execute("mv test.txt /Volumes/FLASHDRIVE/test2.txt")
  • ```
  • ?
  • -----
  • I'm using
  • - Lua 5.4.4
  • - macOS 11.6.8
  • I'm using the `os.rename` function in a lua script. It works perfectly fine for renaming files on my hard drive, e.g.
  • ```
  • os.rename("test.txt","/Users/username/Desktop/test2.txt")
  • ```
  • will rename the file as desired.
  • However if the source file is on my hard drive and the target file is on a USB flash drive, the following operation
  • ```
  • os.rename("test.txt","/Volumes/FLASHDRIVE/test2.txt")
  • ```
  • will fail with the message
  • > Cross-device link
  • which seems to indicate that the problem is that that source and target are on different file systems.
  • Is there any way to get `os.rename` to work in such a case or should I better resort to a workaround like
  • ```
  • os.execute("mv test.txt /Volumes/FLASHDRIVE/test2.txt")
  • ```
  • ?
  • -----
  • I'm using
  • - Lua 5.4.4
  • - macOS 11.6.8
#4: Post edited by user avatar samcarter‭ · 2022-10-04T22:16:16Z (about 2 years ago)
  • I'm using the `os.rename` function in a lua script. It works perfectly fine for renaming files on my hard drive, e.g.
  • ```
  • os.rename("test.txt","/Users/username/Desktop/test2.txt")
  • ```
  • will rename the file as desired.
  • However if the target file is on a USB flash drive, the following operation silently fails
  • ```
  • os.rename("test.txt","/Volumes/FLASHDRIVE/test2.txt")
  • ```
  • -----
  • I was wondering if this might have to do with mac's security settings, however using `os.execute` instead of `os.rename` will work fine:
  • ```
  • os.execute("mv test.txt /Volumes/FLASHDRIVE/test2.txt")
  • ```
  • and I also verified that `Terminal.app` does have full disk access:
  • ![Screenshot of "Security and Privaty" settings showing that Terminal.app has full disk access](https://software.codidact.com/uploads/u1MfLVZE3jbh4rtn9xYqRpWK)
  • ---
  • Any idea why `os.rename` does not work on the USB flash drive?
  • I'm using
  • - Lua 5.4.4
  • - macOS 11.6.8
  • I'm using the `os.rename` function in a lua script. It works perfectly fine for renaming files on my hard drive, e.g.
  • ```
  • os.rename("test.txt","/Users/username/Desktop/test2.txt")
  • ```
  • will rename the file as desired.
  • However if source file is on my hard drive and the target file is on a USB flash drive, the following operation
  • ```
  • os.rename("test.txt","/Volumes/FLASHDRIVE/test2.txt")
  • ```
  • will fail with the message
  • > Cross-device link
  • which seems to indicate that the problem is that that source and target are on different file systems.
  • Is there any way to get `os.rename` to work in such a case or should I better resort to a workaround like
  • ```
  • os.execute("mv test.txt /Volumes/FLASHDRIVE/test2.txt")
  • ```
  • ?
  • -----
  • I'm using
  • - Lua 5.4.4
  • - macOS 11.6.8
#3: Post edited by user avatar Alexei‭ · 2022-10-04T20:27:46Z (about 2 years ago)
added relevant tag
#2: Post edited by user avatar samcarter‭ · 2022-10-04T15:12:32Z (about 2 years ago)
  • I'm using the `os.rename` function in a lua script. It works perfectly fine for renaming files on my hard drive, e.g.
  • ```
  • os.rename("test.mp4","/Users/username/Desktop/test2.mp4")
  • ```
  • will rename the file as desired.
  • However if the target file is on a USB flash drive, the following operation silently fails
  • ```
  • os.rename("test.mp4","/Volumes/FLASHDRIVE/test2.mp4")
  • ```
  • -----
  • I was wondering if this might have to do with mac's security settings, however using `os.execute` instead of `os.rename` will work fine:
  • ```
  • os.execute("mv test.mp4 /Volumes/FLASHDRIVE/test2.mp4")
  • ```
  • and I also verified that `Terminal.app` does have full disk access:
  • ![Screenshot of "Security and Privaty" settings showing that Terminal.app has full disk access](https://software.codidact.com/uploads/u1MfLVZE3jbh4rtn9xYqRpWK)
  • ---
  • Any idea why `os.rename` does not work on the USB flash drive?
  • I'm using
  • - Lua 5.4.4
  • - macOS 11.6.8
  • I'm using the `os.rename` function in a lua script. It works perfectly fine for renaming files on my hard drive, e.g.
  • ```
  • os.rename("test.txt","/Users/username/Desktop/test2.txt")
  • ```
  • will rename the file as desired.
  • However if the target file is on a USB flash drive, the following operation silently fails
  • ```
  • os.rename("test.txt","/Volumes/FLASHDRIVE/test2.txt")
  • ```
  • -----
  • I was wondering if this might have to do with mac's security settings, however using `os.execute` instead of `os.rename` will work fine:
  • ```
  • os.execute("mv test.txt /Volumes/FLASHDRIVE/test2.txt")
  • ```
  • and I also verified that `Terminal.app` does have full disk access:
  • ![Screenshot of "Security and Privaty" settings showing that Terminal.app has full disk access](https://software.codidact.com/uploads/u1MfLVZE3jbh4rtn9xYqRpWK)
  • ---
  • Any idea why `os.rename` does not work on the USB flash drive?
  • I'm using
  • - Lua 5.4.4
  • - macOS 11.6.8
#1: Initial revision by user avatar samcarter‭ · 2022-10-04T15:11:35Z (about 2 years ago)
Using Lua's `os.rename` on a mac to rename files on a USB flash drive
I'm using the `os.rename` function in a lua script. It works perfectly fine for renaming files on my hard drive, e.g. 

```
os.rename("test.mp4","/Users/username/Desktop/test2.mp4")
```

will rename the file as desired.

However if the target file is on a USB flash drive, the following operation silently fails

```
os.rename("test.mp4","/Volumes/FLASHDRIVE/test2.mp4")
```

-----

I was wondering if this might have to do with mac's security settings, however using `os.execute` instead of `os.rename` will work fine:

```
os.execute("mv  test.mp4 /Volumes/FLASHDRIVE/test2.mp4")
```

and I also verified that `Terminal.app` does have full disk access: 

![Screenshot of "Security and Privaty" settings showing that Terminal.app has full disk access](https://software.codidact.com/uploads/u1MfLVZE3jbh4rtn9xYqRpWK)

---

Any idea why `os.rename` does not work on the USB flash drive?

I'm using

- Lua 5.4.4
- macOS 11.6.8