![robocopy: ディレクトリを除外する](https://rvso.com/image/1607069/robocopy%3A%20%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%82%92%E9%99%A4%E5%A4%96%E3%81%99%E3%82%8B.png)
ファイルのバックアップには robocopy を使用します。一部のディレクトリを除外する必要があるため、最初に次のスイッチをテストしました。
/xd ディレクトリ t*
名前が t で始まるすべてのディレクトリを除外することに成功しました。しかし、これは私が本当に望んでいたものではありません。私が本当に望んでいたのは、thunderbird\cache、thunderbird\cache2 など、名前が thunderbird\cache で始まるディレクトリを除外することです。そこで、次のことを試しました。
/xd dirs thunderbird\cache*
しかし、robocopy は「エラー: 無効なパラメータ #7: "thunderbird\cache*"」とエラーを出力します。
パスでワイルドカードを使用するための構文は何ですか?
答え1
オプション/XD
のrobocopy
指示\
指定された値にパス区切り文字がない限り、ワイルドカードが受け入れられるようで、cache*
受け入れられますが、そうthunderbird\cache*
ではありません。
バッチ ファイルで次のコードを使用すると、これを回避できます。
set "DIRS= "
for /D %%I in ("thunderbird\cache*") do call set "DIRS=%%DIRS%%"%%~I" "
robocopy "D:\source" "D:\destination" *.* /XD %DIRS%