0

関連するファイルまたはフォルダのパス/名前にスペースが含まれていない場合、名前とパスエントリでファイルを削除しようとしていますが、ファイル名にスペースが含まれていると、最初のスペースを超えて読み取ることができません。これは引用符に関係ありません。

誰か助けてくれませんか?

for /f %%1 in (C:\BLACKLIST.txt) do rd /s /q %%1

また、機能していません:

for /f %%1 in (C:\BLACKLIST.txt) do rd /s /q "%%1"
4

1 に答える 1

1

行全体を読み取るには、トークンを追加する必要があります

for /f "tokens=*" %%1 in (C:\BLACKLIST.txt) do rd /s /q "%%1"

ループはfor /f行を読み取り、特定の区切り記号または区切り記号に基づいてそれらをトークンに分割します。デフォルトでは、区切り文字は<space><tab>であり、指定されていない場合は、最初のトークンのみが読み取られます。このtokensオプションを使用すると、デフォルトをオーバーライドして、必要なトークンを指定できます。あなたの場合、それらすべてが必要なため、配置する必要があります*(単一*は「すべてのトークン」を表します)。

delimsまたは、次のようにオプションをリセットして、「区切り文字なし」を指定することもできます。

for /f "delims=" %%1 in (C:\BLACKLIST.txt) do rd /s /q "%%1"
于 2013-01-02T16:19:59.233 に答える