Renaming gotcha under FAT file system
DePriest, Jason R.
Fri Apr 6 19:40:00 GMT 2007
On 4/6/07, wrote:
> My Bash script renames file and folders from regular expression patterns found in a preset file. The
> patterns allow for complex renaming, yet sometimes it just converts the file name to title case. The
> script produces a separate file for executing the rename commands.
> printf "mv %-200s \"%s\"\n" "-f \"$DIR/"$FILE"\"" "$DIR"/"$NEWNAME" >> doit.sh
> The typical command in the doit.sh file looks like the following line.
> mv -f "file_to_be_rename.ext" "File_To_Be_Rename.ext"
> The secondary script renames hundreds of files. Twenty percent may fail do "mv" encountering the
> same file name (similar to the line above).
> Question: How do you force mv to rename a file with the same filename? The code above returns an
> error that the files are the same.
> I prefer using mv since my cygwin installation does not contain rename or mmv. Portability is very
> important for this script. Apparently, Wintel file systems are case insensitive, which create a
> problem for this script. Please give me some suggestions on dealing with this scenario. Script
> examples on creating a temp file or logic that appends an extra character would help me a good deal.
I handled this issue by first renaming the file to some temporary name
and then naming it back to its original name in the case I want.
So you would store the original filename in a variable, rename the
file to some temp name, run your magic on the original filename, then
rename the temp file to the newly fixed filename.
I can't find my perl script or I would post sample code.
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
More information about the Cygwin