我有这样的代码:delims是意外在这个时候
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
chcp 65001
SET "sourcedir=C:\Users\leandro.batista\Desktop\SAMPLES RENAMER"
SET "destdir=C:\Users\leandro.batista\Desktop\SAMPLES RENAMER\BACKUP"
for %%a in ("%sourcedir%\*.pdf") do (
set filename=%sourcedir%\*.pdf
set cnt=0
set pos=0
PAUSE
for /f "usebackq tokens=%cnt% delims=_ " %%b in ("%%~na") do (
COPY "%%a" "%destdir%"
MOVE "%%~fa" "%sourcedir%\%%b%%~xa"
)
)
:loop
if "!filename:~%pos%,1!"=="_" set /a cnt=%cnt%+1
set /a pos=%pos%+1
if not "!filename:~%pos%,1!"=="" goto loop
echo Count: %cnt%
中的计数代码:环是计算在文件名中的所有下划线(_),所以计数存储在变量%CNT %,然后插入到标记中,因为我收到的文件名中的下划线不确定。 其余的代码是基于令牌和定界符重命名文件,但每当我运行这段代码时,它都会给我这个错误:"delims was unexpected at this time "
。 任何人都可以解释我为什么?
您在其中也使用相同的循环中不断变化的'%CNT%'值后它。试试这个:'for/f'usebackq tokens =!'cnt!delims = _“' – MichaelS
我正面临同样的错误:/ –
[Windows批处理循环虽然带动态令牌计数变量](https:// stackoverflow。 com/questions/12072777/windows-batch-loop-though-variable-with-dynamic-token-count) – Squashman