2011-11-13 123 views
0

我有以下文件夹结构:重命名文件夹和文件在Windows系统递归

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 

基本上是做两件事情在这里: 一)从所有文件和文件夹名称删除_Latest。 b)将所有的文件夹和文件的情况下调为小写

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

此外,如果某人有合适的解决方案在UNIX中,我可以尝试将文件夹复制到DVD并尝试在UNIX框上运行命令:-)

回答

2

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

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命令。

+0

太棒了!它完成了工作:-) – gagneet