Renaming gotcha under FAT file system

DePriest, Jason R. jrdepriest@gmail.com
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.

-Jason

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list