2

現在、サーバー上の特定のフォルダーからすべてのコンテンツを削除する単一のバッチファイルを実行しています。今のところ動作していますが、フォルダ名にスペースが含まれるディレクトリは残念ながら認識されません。この制限を克服するために、スクリプトのどこに引用符を配置すればよいかわかりません。

これはこれまでのスクリプトで、「D:\」のルートにあります。

cd Sharedfolder
for /f %%i in ('dir D:\Sharedfolder /B /D') do rd %%i /Q /S
del /F /S /Q *.*

うまく機能しますが、「Sharedfolder」内にディレクトリがあるとすぐに、そのディレクトリでは機能しません。

4

2 に答える 2

5

コマンドの使用に不一致があります。/f に使用するか、

FOR /D %%i IN (D:\Sharedfolder\*) DO rd /s /q "%%i"
del /F /S /Q *.*

あなたが考えていたものに近いものです。別の解決策は次のとおりです。

rmdir /s /q D:\Sharedfolder
mkdir D:\Sharedfolder

これにより、システムの他の場所で問題が発生する可能性があります。

于 2013-04-09T14:00:31.057 に答える
1

これはあなたが探している完全な答えです。これを試してください:

for /f "delims=" %%x in ('dir /b /ad abc*') do rd /s /q "%%x"

私は試しました、それは動作します。

于 2013-04-09T09:12:47.907 に答える