在Windows系统中recursion重命名文件夹和文件

我有以下文件夹结构:

Top Folder -> SubFolder1 -> MyFolder_Latest -> MyFile_Latest.txt -> SubFolder2 -> MyFolder_Latest -> MyFile_Latest.txt -> SubFolder3 -> MyFolder_Latest -> MyFile_Latest.txt 

我希望更改上面给出的不同子文件夹中的文件夹和文件。 所有的文件夹和文件都有相同的名称,我想更改为以下内容:

 Top Folder -> SubFolder1 -> myfolder -> myfile.txt -> SubFolder2 -> myfolder -> myfile.txt -> SubFolder3 -> myfolder -> myfile.txt 

基本上在这里做两件事:a)从所有的文件和文件夹名称中删除_Latest。 b)将所有文件夹和文件的大小写转换为小写

任何人有什么想法如何在Windows中实现上述? 我的系统不允许安装UNIX,我不能将这些文件复制到UNIX系统,因为我们的networking目前不在任何UNIX盒子上提供SCP或FTP权限:-(

另外,如果有人在UNIX中有一个合适的解决scheme,我可以尝试将这些文件夹复制到一张DVD上,然后尝试在UNIX机器上运行这些命令:-)

Solutions Collecting From Web of "在Windows系统中recursion重命名文件夹和文件"

所示的文件夹结构不需要递归性。 只需循环遍历结构第一层中的所有文件夹,并适当地重命名它们即可。

请参阅HELP FOR

并尝试这个让你开始

 @echo off set TopFolder="c:\temp\Top Folder" pushd %TopFolder% for /d %%a in (*.*) do ( if exist "%%~fa\MyFolder_Latest" echo REN "%%~fa\MyFolder_Latest" myfolder if exist "%%~fa\MyFile_Latest.txt" echo REN "%%~fa\MyFile_Latest.txt" myfile.txt ) popd 

经过仔细的测试,删除ECHO命令。