我有這樣的代碼: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