前提・実現したいこと
言語:batファイル
環境:Windows10 64bit
フォルダ構成例:
src フォルダ ・・・コピー元フォルダ |- test.bat |- exclude.txt ・・・`bbb.csv`と書かれたファイル |- aaa.csv |- bbb.csv srcフォルダ ・・・コピー元フォルダ(試験用。スペース無) |- exclude.txt ・・・`bbb.csv`と書かれたファイル(試験用。上記「src フォルダ」内と同一) dst フォルダ ・・・コピー先フォルダ
実現したいこと:
- フォルダ名に空白を含むフォルダ配下で、forfilesを使ってxcopyを行いたい
- xcopyには/EXCLUDEオプションを指定したい
- /XCLUDEオプション指定のパスにスペースを含むとエラーが出る
- なお、xcopyのコピー先指定は「"""パス"""」とくくるとスペースを含んでいても成功した
該当のソースコード・試したこと
- 以下該当コードでエラーとなる
エラー: 無効な引数またはオプションです - 'フォルダ\exclude.txt @file "C:\dst フォルダ" '
forfiles /p "C:\src フォルダ" /m *.csv /c "cmd /c xcopy /EXCLUDE:"C:\src フォルダ\exclude.txt" @file """C:\dst フォルダ""" "
- EXCLUDEの指定先を検証用フォルダ(スペース無)とすると、エラーが起こらずコピーが実行される
forfiles /p "C:\src フォルダ" /m *.csv /c "cmd /c xcopy /EXCLUDE:"C:\srcフォルダ\exclude.txt" @file """C:\dst フォルダ""" "
- 「batファイル エスケープシーケンス」で検索しヒットした、「^"」「"」などを試したがエラーとなった。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/21 16:46
2020/01/22 03:29 編集
2020/01/22 03:30
2020/02/03 11:19
2020/02/03 11:23
2020/02/03 13:25 編集
2020/02/03 13:43
2020/02/03 14:38 編集