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
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...
#6: Post edited
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
- 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
- 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
#2: Post edited
- 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
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