1
次のコードを書いて、複数のフォルダ(フォルダ1、フォルダ2など)からファイルとサブフォルダの両方を削除しました。フォルダ名にスペースがない場合、スクリプトは正常に動作しますしかし、それはそこにスペースが。パスがドットで終了したときに一時ファイル(files2del.txt)およびサブフォルダを削除することができない。フォルダパスに空白を含むバッチスクリプト
@echo off
setlocal EnableDelayedExpansion
set folder[0]=Folder 1
set folder[1]=Folder 2
for /l %%s in (0,1,1) do (
set "var=C:\directory\!folder[%%s]!"
dir "!var!"/s/b/a | sort /r >> !var!\files2del.txt
for /f "delims=;" %%D in (!var!\files2del.txt) do (del /q "%%D" & rd "%%D")
pause
)
exit
以下の行が問題のようです。
for /f "delims=;" %%D in (!var!\files2del.txt) do (del /q "%%D" & rd "%%D")
%、引用符などさまざまなものを試しましたが、役に立たないものです。
おかげ
ありがとうございました – learningpython
'FOR'コマンドヘルプファイルの' usebackq'部分から:**ファイルセットのファイル名を引用符で囲むことができます** – Squashman