ミラーコピーをしたいのですが、エラーが出たらリトライを1回にしたいです。
そこで、
robocopy (コピー元) (コピー先) /mir /b /r=1
を実行するとコマンドプロンプトの画面が一瞬表示されすぐに消えて、コピーがされませんがどこがおかしいのでしょうか。
また、コピーのログを残したいのですが、「/log:c:\(ファイル名).txt」でログファイルを残せるのでしょうか。
robocopy (コピー元) (コピー先) /mir /b /r=1 /log:c:\(ファイル名).txt
windows7、スタンドアロン、administrators権限ユーザーでの実行です。
No.2ベストアンサー
- 回答日時:
バグではない気がします。
サンプルを挙げると、以下のようなバッチファイルで出来るはずです。
右クリックから管理者権限で実行してください。
Windows10環境で動作確認していますが、恐らくWindows7でも同じ動作をするはずです。
―――――――――――――――――――――
@echo off
rem ■ バッチファイルがあるフォルダをカレントディレクトリにする
pushd "%~dp0"
rem ■ コピー先フォルダの作成
md "C:\Program Files Backup\Program Files"
rem ■ 画面のクリア
cls
rem ■ robocopyコマンドを実行
echo.
echo. 処理中です・・・
robocopy "C:\Program Files" "C:\Program Files Backup\Program Files" /mir /b /r:1 /log:"C:\Program Files Backup\robocopy.log"
rem ■ 完了メッセージ
echo.
echo. 完了しました
echo.
pause
―――――――――――――――――――――
又、ログの出力先フォルダは事前に作成しておく必要があります。
又、もし「Program Files」フォルダ内に「desktop.ini」という隠しファイルがある場合は、その効果によって、実際のフォルダ名とは違うフォルダ名で表示されます。
つまり、
「C:\Program Files」を「C:\Program Files 2」にコピーしたとしても、
「desktop.ini」も一緒にコピーされますから、
「C:\Program Files 2」が「Program Files」と表示される場合があるという意味です。
教えて頂いたようなカッコいいバッチを書けるようになりたいと思っていました!
大変勉強不足で恐縮ですが、単にrobocopy~ という一行を書いても動かないのでしょうか?
バッチファイルがあるデレクトリをカレントデレクトリにするのは何故でしょうか?
タスクスケジューラーで定期的に自動でバックアップをとりたい場合はpauseは入れない方がいいでしょうか?
質問ばかりですみません…
今は試す環境がないので明日確認してみます!
No.3
- 回答日時:
No.2です。
> 単にrobocopy~ という一行を書いても動かないのでしょうか?
いえいえ、動きます。あくまで実用のサンプルを書かせて頂いただけです。
> バッチファイルがあるデレクトリをカレントデレクトリにするのは何故でしょうか?
バッチファイルを右クリックして管理者として実行した場合は、
カレントディレクトリが「C:\WINDOWS\system32」になりますから、
バッチファイル内の全てのパスが、
絶対パス(「C:\xxx.log」等)で書かれていれば問題無いですが、
相対パス(「xxx.log」等)で書かれている場合は、
「C:\WINDOWS\system32\xxx.log」のように解釈されてしまいますから、
それを防ぐ為です。
又、バッチファイルに対し、ファイルやフォルダをドラッグ&ドロップした場合も、カレントディレクトリがバッチファイルのあるフォルダではなくなる場合がありますので同様です。
> タスクスケジューラーで定期的に自動でバックアップをとりたい場合はpauseは入れない方がいいでしょうか?
おっしゃる通り、入れない方が良いかと思います。
教えて頂いたバッチで上手くいきました!
そして追加の質問についてもわかりやすくご説明頂き納得しました。まだまだ教えて頂きたいことはあるのですが、また勉強してみてわからないことがありましたらこちらで質問させていただくかもしれません。
本当にどうもありがとうございました。
No.1
- 回答日時:
「/r=1」を「/r:1」に変えてみてください。
「/log:c:\(ファイル名).txt」につきましては、おおよそ問題無いと思いますが、
パスに半角スペースを含む場合は、
「/log:"c:\xxx xxx.txt"」や、
「"/log:c:\xxx xxx.txt"」という感じで記述してください。
又、ログを上書きせず、追記していく場合は、「/log+:」と記述してください。
又、「pause」コマンドでバッチファイルの処理を一時停止出来ますので、robocopyコマンドの次の行に「pause」とだけ記述すると、バッチファイルを一時停止出来ます。
ありがとうございます!
質問欄に書いたのが間違ておりまして「/r:1」と実際はしているのですが動かないのです。。
ちなみにそのほかのオプションでも動かないことが多いです。
logの出力に間違いはなさそうで安心しました。
記述方法に間違いがないのに実行されないのであれば、スタンドアロンで利用しており更新ファイルはあったっていないのでバグなのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Excel(エクセル) 1つのファイルを3つのフォルダにファイル名を【明日の日付】にして、コピーをしたい 2 2022/12/21 17:43
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- UNIX・Linux Ubuntu でinvalid filenameとなるファイルをコピーする方法 3 2023/06/08 22:26
- Visual Basic(VBA) Excelのマクロについて教えてください。 1 2023/03/12 12:16
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/01/26 09:50
- その他(クラウドサービス・オンラインストレージ) OneDriveファイルのコピー時に容量不足エラー 2 2022/11/27 14:06
- その他(パソコン・周辺機器) 同じファイル名 上書きしないフリーソフトなどあったら教えて下さい。 仕事で大量の写真などを扱っており 3 2023/05/18 06:43
このQ&Aを見た人はこんなQ&Aも見ています
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチファイル内置換
-
エクセルVBA 実行時エラー 5029...
-
バッチスクリプト処理でエラー...
-
CPUとOS の違いは?
-
illustratorを日本語仕様にする...
-
CSHが使えない REDHAT
-
ソフトのインストール場所って...
-
Macの手書き漢字入力ツールにつ...
-
バッチで削除したフォルダをイ...
-
VBからACCESSのレポートをプレ...
-
ネットワーク接続を確認する手...
-
OpenLDAPでのユーザ一覧表示
-
デーモンプロセスの起動について
-
gitのクローンができない
-
デフォルトエディタを変更でき...
-
PIC kit2 エラーについて
-
DiskBurnerがインストールでき...
-
epson pc 486 について
-
Linux環境変数設定(putenv?se...
-
".bashrc" E509: バックアップ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PowerShellで自分が書いたコマ...
-
バッチファイル内置換
-
メーリングリスト宛てのメール...
-
linuxのsshの反応が非常に遅い。
-
exeファイルの実行結果をテキス...
-
dsmoveコマンドをBATファイルで...
-
USBメモリ内のバッチで書き出す...
-
コマンド実行結果のファイル出力
-
プログラムでTAを制御するコマ...
-
batファイル 行った履歴をテキ...
-
【Mac/Xcode】カレントディレク...
-
batファイルのエラー
-
batが動かない
-
Win7でコンピュータ名変更を自動で
-
バッチファイル 文字列操作の...
-
cron で rsync が実行できない
-
デバッグ停止中 一つ戻る
-
スタートアップスクリプトを実...
-
VBSでのファイル読込、出力操作...
-
pythonで業務効率
おすすめ情報