You are not logged in.
ReNamer under Wine (tested on Ubuntu) cannot change the case of a file. So the Case rule, when used only by itself, does not work under Linux. However, besides the Case rule, if you add something else that changes the name of the file, then it works as expected. I think this is related to Wine's handling of file renaming operations.
Last edited by fedkad (2025-03-14 13:48)
Offline
ReNamer under Wine (tested on Ubuntu) cannot change the case of a file. So the Case rule, when used only by itself, does not work under Linux. However, besides the Case rule, if you add something else that changes the name of the file, then it works as expected. I think this is related to Wine's handling of file renaming operations.
What version of wine are you running?
Offline
What version of wine are you running?
It is
wine-9.0 (Ubuntu 9.0~repack-4build3)
running in Ubuntu 24.10 (Oracular Oriole).
Offline
spiritual2700 wrote:What version of wine are you running?
It is
wine-9.0 (Ubuntu 9.0~repack-4build3)
running in Ubuntu 24.10 (Oracular Oriole).
I'm having the same behaviour on Kubuntu 24.04 with wine-10.0.
Offline
ReNamer under Wine (tested on Ubuntu) cannot change the case of a file. So the Case rule, when used only by itself, does not work under Linux. However, besides the Case rule, if you add something else that changes the name of the file, then it works as expected. I think this is related to Wine's handling of file renaming operations.
I believe your hunch is correct.
Wine's handling of file renaming operations prevents file renaming operations where only the case is changed. When you ask it to rename a file, it tries to physically copy the contents of the source file to the destination file. Basically, it tries to open both the source file and the destination file which would resolve into the same actual file, due case insensitive matching of filenames on Windows.
You can stop reading here, unless you are super geeky
----
ReNamer uses MoveFileW Windows API function to rename files.
Wine's implementation of MoveFileW function goes like this:
MoveFileW
=> MoveFileExW( source, dest, MOVEFILE_COPY_ALLOWED );
MoveFileExW
=> MoveFileWithProgressW( source, dest, NULL, NULL, flag );
MoveFileWithProgressW
=> CopyFileExW( source, dest, progress, param, NULL, flag & MOVEFILE_REPLACE_EXISTING ? 0 : COPY_FILE_FAIL_IF_EXISTS ))
=> DeleteFileW( source )
CopyFileExW
=> copy_file( source, dest, ¶ms );
copy_file
=> CreateFileW( source, ... )
=> CreateFileW( dest, ... )
=> ReadFile
=> WriteFile
The copy_file function in Wine is where such renaming operations will fail.
Offline