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