1

I am using windows 10 and would like to rename a number of files which are in the directory C:\temp\bildgroesse. The files are named test1.tif, test2.tif and so on.

So I wrote the command line:

cd \temp\bildgroesse
rename C:\temp\bildgroesse\ *.tif *-org.tif

I also tried :

cd \temp\bildgroesse
rename C:\temp\bildgroesse\ * *-org

The result is in both cases:test1.tif_org.tif,test2.tif_org.tif and so on. So Windows takes the extension as filename.

Does anyone know how to solve this problem?

2 Answers 2

1

Your formulation used to work in previous versions of Windows, so I would really define it as a new bug in Windows 10.

You could instead use the forfiles command like this :

forfiles /M *.tif /C "cmd /c ren @file @fname-org.tif"
0

You should use the forfiles solution, but this is how to add a string to a file name before its extension using only the rename command.

ren *.ext ????????????string.ext

So in your case, you would use

cd \temp\bildgroesse
ren *.tif ????????????-org.tif

Notes:

  • This does not work the same if a file has more than one . in its name. The question mark wildcard matches a single character as long as that character is not ., so only the characters before the first . will appear in the new file name. The forfiles solution has no such restriction.

  • The number of question marks needs to be greater than or equal to the length of the longest file name (without its extension).

  • Once you cd to a directory, you do not need to type out the full path to the files. Alternatively, if you type out the full path, you do not need to cd.

  • ren is an alias for rename.

More information on ren/rename, including wildcard usage, can be found here.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .