我在批处理文件方面非常新,并且我的代码遇到了一些麻烦。我曾在本页的其他问题中进行了调查,但仍然无法完成我的任务。我在同一目录中有多个压缩文件夹,每个文件夹里面都有一个.html文件。我需要解压缩文件夹并使用文件夹名称重命名.html。
示例:
FolderA.zip with file xyz.html
FolderB.zip with file abc.html
结果:
file FolderA.html
file FolderB.html
这是我的代码:
cd C:\Users\MyUser\Desktop
for /F %%I IN ('dir /b /s *.zip *.rar') DO (
set nombre2=%%~naI
"C:\Program Files\7-Zip\7z.exe" x -o"%%~dpI" "%%I" -aoa
for /F "delims=" %%f in ('dir /a-d /b *.html') do (
ren %%I %nombre2%.html
)
)
DEL *.zip
答案 0 :(得分:0)
%%f
而非%%I
。~na
将返回名称和属性吗?@Echo off
cd C:\Users\MyUser\Desktop
for /F %%I IN ('dir /b /s *.zip *.rar') DO (
"C:\Program Files\7-Zip\7z.exe" x -o"%%~dpI" "%%I" -aoa
for /F "delims=" %%f in ('dir /a-d /b *.html') do (
ren ""%%f" "%%~nI.html"
)
)
DEL *.zip