1417311804 robocopyをバッチ化して動かない


ROBOCOPY "C:\work\20141129\test" "E:\manualbackup\work\work02"
を、コマンドプロンプトで実行するとこの通り動きます。

ROBOCOPY "C:\work\20141129\test" "E:\manualbackup\work\work02"
shutdown.exe

と2行記述し、バッチファイルにして(「test01.bat」)実行すると
添付ファイルのように、コマンド画面がスクロールするだけで、
コピーもできず、スクロールが終わりません。

Windows8.0です。

教えてください。
よろしくお願いします。

回答の条件
  • 1人1回まで
  • 13歳以上
  • 登録:2014/11/30 10:43:24
  • 終了:2014/11/30 21:51:07

ベストアンサー

id:siachan No.2

siachan回答回数79ベストアンサー獲得回数132014/11/30 18:30:58

ポイント100pt

デスクトップ上にROBOCOPY.batが存在しませんか?

コマンドプロンプトを起動し、

dir %USERPROFILE%\Desktop\Robocopy.*

と入力すれば確認できます。

id:kohhi

はい、おっしゃる通リデスクトップ上にあり、削除して実行したところ、テスト用のバッチファイル正常に動きました。少しずつ本番環境に近づけてやってみます。ありがとうございました。

2014/11/30 21:50:42

その他の回答(1件)

id:cx20 No.1

cx20回答回数606ベストアンサー獲得回数1072014/11/30 12:20:04

ポイント50pt

Windows 8.0 環境が無い為、検証は出来ていませんが、
もしかしたら、パス名に「!」が入っているのが原因ではないでしょうか。

バッチファイルで環境変数の遅延展開の機能(ENABLEDELAYEDEXPANSION)が有効化されている場合、
「!」~「!」の内容が置換されるケースがあります。
その場合、「!」→「^!」とすることで、記号をエスケープさせることが出来るようです。

■ 遅延展開される CMD バッチスクリプトで ! を記述する方法 - is BUG Ready
http://d.hatena.ne.jp/ladybug/20090530/p1

<エスケープテスト用バッチ>

SETLOCAL ENABLEDELAYEDEXPANSION
SET TEST1="C:\Becky!" "E:\manualbackup\Becky!"
SET TEST2="C:\Becky^!" "E:\manualbackup\Becky^!"
SETLOCAL DISABLEDELAYEDEXPANSION
@ECHO TEST1=%TEST1%
@ECHO TEST2=%TEST2%
PAUSE

<実行結果>

TEST1="C:\Becky\manualbackup\Becky" … 予期しないパス
TEST2="C:\Becky!" "E:\manualbackup\Becky!" … 本来想定しているパス

あと、バッチファイルをテストする際に「VisualBat」を用いるとデバッグ実行が行えますので、こちらを試してみては如何でしょうか。

■ 【レビュー】編集やデバッグが簡単になるバッチファイル向け統合開発環境「VisualBat」 - 窓の杜
http://www.forest.impress.co.jp/docs/review/20140204_633694.html

他1件のコメントを見る
id:cx20

「test01.bat」の実行結果が添付画像だとすると明らかに変ですね。。。(パスが違う他、/MIR と言った引数も指定してませんし。)
No.2 さんの回答にあるように「ROBOCOPY.bat」が存在している可能性が高そうです。

試しに、以下のようなバッチ「ROBOCOPY.bat」を用意して、「test01.bat」を実行したところ、添付画像と同様の画面表示(無現ループ)になることを確認しました。
<ROBOCOPY.bat>

ROBOCOPY "C:\Becky!" "E:\manualbackup\Becky!" /MIR
2014/11/30 19:51:13
id:kohhi

早速やっていただいてありがとうございます。

2014/11/30 21:48:45
id:siachan No.2

siachan回答回数79ベストアンサー獲得回数132014/11/30 18:30:58ここでベストアンサー

ポイント100pt

デスクトップ上にROBOCOPY.batが存在しませんか?

コマンドプロンプトを起動し、

dir %USERPROFILE%\Desktop\Robocopy.*

と入力すれば確認できます。

id:kohhi

はい、おっしゃる通リデスクトップ上にあり、削除して実行したところ、テスト用のバッチファイル正常に動きました。少しずつ本番環境に近づけてやってみます。ありがとうございました。

2014/11/30 21:50:42

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません