1
我有一個批處理文件創建一個名爲TempIOFile的文件夾。在後續運行中,它應該識別出TempIOFile文件夾存在,並創建該文件夾的增量版本(TempIOFile1,TempIOFile2等)。如何增加文件夾名稱
我有一些代碼工程增加文件:
set "baseName=TempIOFile"
set "n=0"
for /f "delims=" %%F in (
'2^>nul dir /b /ad "%baseName%*."^|findstr /xri "%baseName%[0-9]*"'
) do (
set "name=%%F"
set "name=!name:*%baseName%=!"
if !name! gtr !n! set "n=!name!"
)
set /a n+=1
md "%baseName%%n%"
然而,當我嘗試使用IF EXIST
聲明我得到一個錯誤:文件名,目錄名或卷標語法不正確。
IF EXIST %userprofile%\desktop\TempIOFile (
set "baseName=TempIOFile"
set "n=0"
for /f "delims=" %%F in (
'2^>nul dir /b /ad "%baseName%*."^|findstr /xri "%baseName%[0-9]*"'
) do (
set "name=%%F"
set "name=!name:*%baseName%=!"
if !name! gtr !n! set "n=!name!"
)
set /a n+=1
md "%baseName%%n%"
) ELSE (
MKDIR %userprofile%\desktop\TempIOFile
)
我不知道爲什麼,這是行不通的。 TempIOFile已創建,但在後續運行中增加的版本不是。誰能幫忙?
我看到你明白''延遲擴展:應用您瞭解了'(parenthesised代碼塊)中定義_all_變量',比如'baseName的'(無處不在)和'MD「baseName的!! !n!「'而不是'md」%baseName %% n%「'。 – JosefZ
寫'IF EXIST「%userprofile%\ desktop \ TempIOFile」'... – aschipfl