我有一個批處理文件解壓縮目錄中的存檔,並重命名提取的文件。我的批處理文件的內容是:批處理文件解壓和重命名文件
for /F %%I IN ('dir /b /s *.zip *.rar') DO (
"C:\Program Files\7-Zip\7z.exe" x -o"%%~dpI" "%%I" -aoa
)
DEL *.zip
@echo off
set i=1
for %%f in (*.xml) do call :renameit "%%f"
goto done
:renameit
ren %1 FileName%i%_Msd.xml
set /A i+=1
:done
我希望文件改名爲
FileName1.xml
FileName2.xml
FileName3.xml
...
但是,重命名的文件名似乎從2開始,而不是1。如果我重新運行該批處理文件在最初提取並且從2開始重命名後不正確,它會更正此命名錯誤並從一開始。
我該如何解決這個問題,以便重命名的文件從1開始正確地啓動?
嘗試使用set i = 0而不是i = 1 –
假設您沒有禁用腳本頂部的ECHO OFF,請觀察程序執行。特別注意重命名命令。如果您必須在重命名命令後放置PAUSE。 – Squashman
@Byakko_Haku你的建議已經奏效,並且重命名的文件現在從1開始。謝謝你的幫助! – Klicker