現在、私の簡単なバッチスクリプトは次のようになります。ディレクトリにスペースが含まれているループを無視するには?
@echo off
for /D /r C:\myprojects\AIS\ %%G in (_svn) do rd /S /Q %%G
pause
は残念ながら、これは、「マイプロジェクト」と呼ばれるディレクトリ、それらにおける空白文字で任意のディレクトリをスキップします。これを回避するにはどうしたらいいのですか?
現在、私の簡単なバッチスクリプトは次のようになります。ディレクトリにスペースが含まれているループを無視するには?
@echo off
for /D /r C:\myprojects\AIS\ %%G in (_svn) do rd /S /Q %%G
pause
は残念ながら、これは、「マイプロジェクト」と呼ばれるディレクトリ、それらにおける空白文字で任意のディレクトリをスキップします。これを回避するにはどうしたらいいのですか?
ディレクトリ名の前後に引用符を付けることはできますか?
私はこれを試しました:%% Gはディレクトリ名を保持しているので、(_svn)do rd/S/Q "%% G"では/ D/r C:\ electionscanadaprojects \ AIS \ "%% G" 。 – Chris
何とか引用符をエスケープする必要がありますか?私はちょうどここで推測しています、私はDOSの男ではありません(これはDOSですよね?) –
はい、それはdosです。私は引用符をエスケープする必要はないと信じています。これは通常、ディレクトリへの直接パスを与えた場合に機能します。しかし、それは変数に格納されている私の問題を引き起こしている、と私は思います。 (私はスクリプトをバッチ処理することを知っていました。間違っている可能性があります) – Chris
うん...私のために働くようです。代わりにエコーを試しましたか?
C:\tmp> TREE /A C:\tmp\xxx
C:\TMP\XXX
\---one one
\---two two
C:\tmp> FOR /D /R c:\tmp\xxx %I IN (_svn) DO @ECHO RD "%I"
RD "c:\tmp\xxx\_svn"
RD "c:\tmp\xxx\one one\_svn"
RD "c:\tmp\xxx\one one\two two\_svn"
rmdir
へのあなたの議論については、おそらく引用符が必要です。真に妄想的になりたい場合は、代わりに%~I
を使用して、FOR /D /R ... %I IN ("_svn")
が引き起こす混乱を防ぎます。
はこのWindows(DOS)ですか?おそらく「バッチファイル」タグ –
はいです。私はそれに "バッチ"タグを入れましたが、もしあなたが望むなら "バッチファイル"も含めます。 – Chris
申し訳ありませんが、金曜の朝の脳死です。 –