robocopy: ディレクトリを除外する

robocopy: ディレクトリを除外する

ファイルのバックアップには robocopy を使用します。一部のディレクトリを除外する必要があるため、最初に次のスイッチをテストしました。

/xd ディレクトリ t*

名前が t で始まるすべてのディレクトリを除外することに成功しました。しかし、これは私が本当に望んでいたものではありません。私が本当に望んでいたのは、thunderbird\cache、thunderbird\cache2 など、名前が thunderbird\cache で始まるディレクトリを除外することです。そこで、次のことを試しました。

/xd dirs thunderbird\cache*

しかし、robocopy は「エラー: 無効なパラメータ #7: "thunderbird\cache*"」とエラーを出力します。

パスでワイルドカードを使用するための構文は何ですか?

答え1

オプション/XDrobocopy指示\指定された値にパス区切り文字がない限り、ワイルドカードが受け入れられるようで、cache*受け入れられますが、そうthunderbird\cache*ではありません。

バッチ ファイルで次のコードを使用すると、これを回避できます。

set "DIRS= "
for /D %%I in ("thunderbird\cache*") do call set "DIRS=%%DIRS%%"%%~I" "
robocopy "D:\source" "D:\destination" *.* /XD %DIRS%

関連情報