0
我做了一個批處理腳本來重命名大量的文件。它取出它們的名字並在文本文檔中搜索它,複製該行並從中獲取我需要的數據,然後重命名該文件。Windows批量重命名文本文件
它似乎大部分工作正常,但我不能檢查它是如何做的,因爲它不斷地在控制檯中產生錯誤/警告。
@echo off
set ogg=.ogg
Setlocal EnableDelayedExpansion
for %%a in (*.ogg) do (
set fileNameFull=%%a
set fileName=!fileNameFull:~0,-4!
for /F "delims=" %%a in ('findstr /I !fileName! strings.txt') do (
endlocal
set "stringLine=%%a%ogg%"
)
Setlocal EnableDelayedExpansion
set fullString=!stringLine:~26!
ren %%a "!fullString!"
)
pause
代碼的工作,我只是想能夠跟蹤進展情況,文件10,000s都在同一時間被重命名和我不遠處沿着過程是如何指示。
的錯誤是:
"FINDSTR: Cannot open [...]" "The syntax of the command is incorrect."
感謝您的回覆,但輕微的問題。我必須禁用DelayedExpansion,因爲「!」在從文本文件複製的字符串內被刪除。我認爲這是一個問題,但我不知道替代方案是什麼。 – Adamj200
這就是爲什麼你應該提供樣本代表性數據。它可以 - 也將在這種情況下 - 改變整個方法。 – Magoo