首先,我不确定这是不是适合这个问题的地方,但是这里开始了。
我有一个文件夹结构
parentfolder/folder1/10-31-2010/file1.pdf
/folder2/10-31-2010/filey.pdf
/folder3/10-31-2010/filex.pdf
/foldern/10-31-2010/filen.pdf我需要将日期重命名为2010-10-31。
这是一个一次性的事情,只会发生在一个父文件夹中。但要应用此功能的文件夹超过10000个。
从googling上我看到有许多文件重命名工具,但我不允许在服务器上安装任何软件,也不允许我将文件夹从服务器上移走。
任何帮助都将不胜感激。
发布于 2010-11-03 15:56:04
如果你想从.bat文件这样做,你可以使用DOS ren命令。
ren C:\folder2\10-31-2010 C:\folder2\2010-10-31This answer中有一个脚本可能会对您有所帮助。
发布于 2010-11-03 16:53:51
最好的办法是使用shell脚本。
!/bin/bash
FOLDER=/path/to/*/
FILES=$(find $FOLDER -name '*-*-*')
for f in $FILES
do
o=${f%/*}
p=${f##*/}
mv $f $o/$(echo $p | awk -F"-" '{ print $3"-"$1"-"$2 }')
done它仍然使用mv和awk,希望您的服务器同时使用这两个工具。
https://stackoverflow.com/questions/4084919
复制相似问题