windowsバッチのparse errorを解消したい
やりたいことは、移動先にないファイルをチェックし、ないものだけ移動先にコピーするという操作です。
具体的には、
・移動元のフォルダと、移動先のフォルダの差分ファイルをいったんtxtファイルに(フルパスで)書き出す
・txtファイルをfor文で読み込んで、移動先のフォルダ内にコピーを作成する
という動きにしています。
発生している問題・エラーメッセージ
parse error
ファイル名に空白が含まれているものだけがparse errorでコピーされないので、以下のように""で括りました。
該当のソースコード
set from=C:\hogehoge set to=C:\foobar set out=C:\loremipsum echo --------------------------------------------------------- echo from(hogehoge)にあってto(foobar)に無いファイルを、toにコピーする echo ---------------------------------------------------------- pushd %from% setlocal enabledelayedexpansion for %%X in (*) do if not exist !to!%%X echo "!from!%%X" >>!out!temp.txt for /f %%Y in (!out!temp.txt) do xcopy /i /y "%%Y" !to!final\ pause del !out!temp.txt endlocal
試したこと
""で囲んでも、parse errorでコピーはできませんでした。
何か良いアイデアはないでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/01/05 03:38