TempIOFileという名前のフォルダを作成するバッチファイルがあります。その後の実行では、TempIOFileフォルダーが存在することを認識し、フォルダーの増分バージョン(TempIOFile1、TempIOFile2など)を作成する必要があります。フォルダ名を増やす方法
は、私は、ファイルをインクリメントする動作するコードがあります:私はIF EXIST
ステートメントを使用しようとすると、
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 %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が作成されますが、その後の実行では、インクリメントされたバージョンは作成されません。誰も助けることができますか?
私は'あなたが '理解することが遅れた拡張を参照してください! !! n! "' md "の代わりに%baseName %% n%" 'を使います。 – JosefZ
書き込み 'もし存在する'%userprofile%\ desktop \ TempIOFile "... – aschipfl