首先不确定这是否是这样一个问题的正确位置,但现在就去了。
我的文件夹结构为
parentfolder / folder1中/ 2010年10月31日/ file1.pdf
/folder2/10-31-2010/filey.pdf
/folder3/10-31-2010/filex.pdf
/foldern/10-31-2010/filen.pdf
我需要将日期重命名为2010-10-31。
这是一次性的事情,只会在一个父文件夹中发生。但是有超过10000个文件夹可以应用它。
从谷歌搜索我看到有很多文件重命名工具,但我不允许在服务器上安装任何软件,我也不允许将文件夹从服务器上移开。
任何帮助都将不胜感激。
答案 0 :(得分:0)
如果要从.bat
文件执行此操作,可以使用DOS ren
命令。
ren C:\folder2\10-31-2010 C:\folder2\2010-10-31
This answer中有一个可能对您有帮助的脚本。
答案 1 :(得分:0)
您最好的选择是使用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,希望你的服务器上都有。