Windows重命名子文件夹命令

时间:2010-11-03 07:20:04

标签: windows command batch-file

首先不确定这是否是这样一个问题的正确位置,但现在就去了。

我的文件夹结构为

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个文件夹可以应用它。

从谷歌搜索我看到有很多文件重命名工具,但我不允许在服务器上安装任何软件,我也不允许将文件夹从服务器上移开。

任何帮助都将不胜感激。

2 个答案:

答案 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,希望你的服务器上都有。