我有以下文件夹结构:
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系统,因为我们的网络目前不在任何UNIX机器上提供SCP或FTP权限: - (
此外,如果有人在UNIX中有合适的解决方案,我可以尝试将文件夹复制到DVD并尝试在UNIX机器上运行命令: - )
答案 0 :(得分: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
命令。