长话短说,我在试图安装新SSD时不小心擦了我的硬盘。我使用了一个很好的程序取消删除我的分区;但是,所有文件都有.efs扩展名。我目前正在使用:
:begin
RENAME *.extension.efs *.
我为每种文件类型编写了大量的行,并且此命令可以正常运行。唯一的问题是我必须手动将此.bat粘贴到每个文件夹中并执行它才能使其正常工作。
有没有办法可以实现这一点当我运行这个.bat时,它会从中央目录中查看所有文件夹和子目录?我是关于组织的肛门所以我的所有音乐,专辑,视频,电视节目等都在不同的文件夹中,我需要花一些时间从每个文件夹中运行我的原始.bat。
任何帮助表示赞赏!!
答案 0 :(得分:1)
for /r /d %n in (.) do pushd "%n"&call "fullpathtoyourniftybatchfile"&popd
来自提示符的将遍历当前目录所在的整个树。
您也可以将批处理放入path
的任何目录并执行
for /r /d %n in (.) do pushd "%n"&call "yourniftybatchfilename"&popd
因为Windows会在path
中搜索它无法在当前目录中找到的任何可执行文件。
答案 1 :(得分:1)
这是一个脚本,它将重命名当前目录中扩展名为efs的文件以及从当前目录开始的所有子文件夹。 %% i由文件夹或子文件夹的完整路径替换。需要第2行,因为for循环只执行文件夹和子文件夹。
@echo off
ren *.efs *.
for /f "tokens=* usebackq" %%i in (`dir/b/ad/s`) do (
cd %%i
ren *.efs *.
)