robocopyで発生するエラーの原因と解決方法とは?

このQ&Aのポイント
  • robocopyを使用してファイルを転送しようとした際に、エラーが発生し作業ができない問題があります。
  • エラーメッセージによれば、Invalid Parameter #4というパラメータが無効であるとされています。
  • 原因として、ファイル名に問題がある可能性が考えられます。
回答を見る
  • ベストアンサー

robocopyにおいて、Invalid

こちらに家庭内LANで接続している2台のWindows XP PRO SP3のパソコンがあります。ここで次のようなコマンドを入力して遊んでいました。 robocopy r:0 /l "d:\2メガバイトを越えたファイル" "\\owner-05b656313\d$\2メガバイトを越えたファイル" >"d:\My Music.txt" しかしこれを実行しますと次のようなエラーが出て作業できません。これはなぜでしょうか。 こちらの2台のパソコンにおいては、パスワードは同一として、ユーザー名も同一としたアカウントをそれぞれのパソコンに作成して、コンピュータ名だけで区別できるようにしています。 どうも、ファイル名に問題がありそうな感じですが。 ERROR : Invalid Parameter #4 : "\\owner-05b656313\d$\2

質問者が選んだベストアンサー

  • ベストアンサー
  • 8ive22ty
  • ベストアンサー率52% (770/1479)
回答No.2

No.1の続きです。 質問文の > どうも、ファイル名に問題がありそうな感じですが。 No.1の > どうも、パスの中の文字裂に何かまずいところがあるのかもしれないという印象なのですが。 どちらも見当違いです。 エラーの原因はパラメータミスにあります。 r:0 は不適切で 正しくは /r:0 なので、 結果として「エラー: 無効なパラメーター #4」になっています。 /l パラメータは付けても意味がありません。 今回の場合は "" 囲いは意味がありません。 さらに、標準出力ファイルへのリダイレクトも意味がありません。 robocopyの結果は画面に出力されるか、 /log:ファイル でログファイルに出力します。 --- pathの指定についてもrobocopyヘルプにあるように正しく指定してください。 コピー元 :: コピー元ディレクトリ (ドライブ:\パスまたは \\サーバー\共有\パス)。 コピー先 :: コピー先ディレクトリ (ドライブ:\パスまたは \\サーバー\共有\パス)。 ファイル :: コピーするファイル (名前/ワイルドカード: 既定値は「*.*」です)

booingmusume
質問者

お礼

r:0のところ、/r:0としたところ、当然ながら動きました。これに気がつかなかったとは自分でもかなり恥ずかしいところですが、お陰さまをもちましておかしな回り道をしないですみました。感謝いたします。

その他の回答 (1)

  • 8ive22ty
  • ベストアンサー率52% (770/1479)
回答No.1

My Music.txtへのリダイレクトは何のために記述しているんでしょうか?

booingmusume
質問者

補足

このリダイレクトには、特に意味はありませんが、テキストファイルにして殿エラーを保存しておくつもりでした。別にファイル名は、処理結果.txtでも何でもよかったと思います。 出力結果をどこまで貼り付けようかと思いながらとりあえず思いとどまったところです。どうも、パスの中の文字裂に何かまずいところがあるのかもしれないという印象なのですが。

関連するQ&A

  • robocopyコマンド

    以下のコマンドを実行し、logを見ると、エラーのようなものが出ているのですが、 このような場合は、再度、robocopyコマンドを実行すべきでしょうか? >robocopy c:\Windows \FVserver1\bk /MIR /R:0 /W:0 /NP /TEE /LOG:log.txt 新しいファイル 16640 7B296FB0-376B-497e-B012-9C450E1B7327-5P-1.C7483456-A289-439d-8115-601632D005A0 2014/12/01 20:12:54 エラー 32 (0x00000020) ファイルをコピーしています c:\Windows\System32\7B296FB0-376B-497e-B012-9C450E1B7327-5P-1.C7483456-A289-439d-8115-601632D005A0 プロセスはファイルにアクセスできません。別のプロセスが使用中です。 -----------------------------------処理結果------------------------------------------- 合計 コピー済み スキップ 不一致 失敗 Extras ディレクトリ: 14422 14412 10 0 0 0 ファイル: 62685 62632 11 0 42 0 バイト: 10.193 g 10.055 g 34.06 m 0 107.62 m 0 時刻: 0:43:04 0:19:53 0:00:00 0:23:10 スキップ(ディレクトリ:12、ファイル:11)や不一致(ファイル:42)のものは、どうすべきなのでしょう? 完全にコピーできていないということでしょうか? 何か、robocopyってやたらと時間がかかって、単純にコピペの方が 楽な気もするのですが、何が良いのでしょう??

  • robocopyのエラー

    robocopy /mir c:\xxxx d:\xxxx robocopyを使ってミラーリングをしているのですが 途中で「パラメータが間違っています」と出て 処理が止まってしまうことがあります。 ある特定のファイルをコピーしようとしたときに出ているとおもうのですが、お分かりの方いらっしゃったらお願いします。 あとこれを回避する方法があれば教えていただけると助かります。 よろしくおねがいします。

  • robocopyに関しての質問です

    robocopyで以下のスクリプトを作成しました。 robocopy フォルダA フォルダB /B /MIR /COPY:DATSOU /DCOPY:DAT /XO /R:1 /W:1 /NP /NFL /NDL /XC /XJF /XJD /LOG+:フォルダパス:\ファイル名.txt そこで、このコマンドを実際に動かしたのですが、1回目は正常に起動しました。フォルダAからフォルダBへのコピーは出来ました。 次にコピー先のBフォルダ内のCフォルダからDフォルダへEファイルを移動しました。 再度このコマンドを実行しましたら、フォルダAで更新されたファイルやフォルダはコピーできました。 しかし、コピー先で移動したEファイルが消えていました。 この回避方法を教えて下さい。

  • robocopy 前回の結果が0x9

    OS:windows server 2003 SE SP2 外付けHDD:USBにて接続 新期サーバーの導入にともないデータを移行および バックアップ方法としてrobocopyによるミラーリングを予定しています。 タスクで深夜に同期を行うようにするため robocopyのバッチファイルを作成し、テストを行いました。 テスト内容はサーバーのハードディスクの 共有フォルダと外付けHDDの中のフォルダを同期させる。 テストを行ったところ、バッチ処理にて作成した ログデータには特にエラーは見られなかった。 (データの量が膨大で全部見るのは無理) ただ、前回の結果が「0x9」となっていました。 ”「0x0」でないということは正常に終了していない” という判断ぐらいしかできないため「0x9」が一体 何の誤りを表しているのか分かりません。 下記がバッチファイルの中身です。(Fは外付け) robocopy.exe D:\(フォルダ名) F:\(フォルダ名) /S /E /COPYALL /PURGE /MIR /XO /R:0 /W:15 > D:\%date:~-10,4%%date:~-5,2%%date:~-2,2%.txt 最後の.txtはバックアップを行っている日付を ファイル名にしてログファイルにしています。 正直、見てみよう見まねで作ったバッチファイルなので 既にここで間違っているようでしたらご指摘ください。 長くなりましたが、結局のところ「0x9」が 何を表しているのかわからないので エラー?の原因も何もわかりません。 0x9の意味。そして上記に記載したバッチファイルの中で 間違った記載、そして無駄な部分について教えて下さい。 ご返答宜しくお願いします。

  • robocopyで意図しないフォルダをスキャン

    マイドキュメントのバックアップを取るため、robocopyのバッチファイルを作成し、ファイル名をbackupにしてダブルクリックして実行したのですが、意図しないフォルダ(C:\Users\(ユーザー名)\Documents\My Music\)をスキャンしてしまい、そこでアクセスが拒否され、そこから進みません。 どのようにすれば、マイドキュメント以下にあるフォルダすべてをバックアップできるのでしょうか? ※ちなみに/R:0を使用すればアクセスが拒否されたフォルダをスキップしてバックアップできることは分かったのですが、意図しないフォルダをスキャンしているのが、なんとも気持ち悪いため、別の方法でお願いします。 ■backup.batの中身 robocopy "C:\Users\(ユーザー名)\Documents" "E:\ドキュメントのバックアップ" /MIR ■実行後のエラー 2013/03/14 23:05:17 エラー 5 (0x00000005) コピー元ディレクトリをスキャンしていま す C:\Users\(ユーザー名)\Documents\My Music\ アクセスが拒否されました。

  • robocopyでコピー元のファイルが開かれている

    以下のrobocopyコマンドで正常に移行ができるのを確認できました。 robocopy コピー元 コピー先 /E /B /MIR /COPY:DATSOU /DCOPY:DAT /XX /NP /IM /XC /XJF /XJD /Z /R:1 /W:1 /LOG:D:\robocopy.log その際、1~3が可能か知りたいです。 1.コピー元でファイルが開かれていた場合、そのファイルだけコピーをスキップするオプションはありますでしょうか? 2.その際、ログにエラーを出力するオプションを知りたいです。 3.1.で開いていたファイルが閉じた際に、コピーを再実行する方法があれば教えて頂きたいです。

  • Robocopyで濁点などがエラーになる対策

    Robocopyを使ってミラーリングバックアップしています。その際に、ファイル名に「パ」「ダ」「ブ」などの文字を含むファイルが時々不正なファイル名として、「ハ?」「タ?」「フ?」と扱われ、コピーエラーとなります。 これらのエラーを発生させないような方法をご存知でしたら教えてください。 Windows7 Pro、64bit、を使用しています。よろしくお願いします。

  • 実行ファイルのサブフォルダのファイル名変更で

    h = FindFirstFile("bitmap\\*.txt", &fd); if(h == INVALID_HANDLE_VALUE){   MessageBox(NULL, "ファイルが見つかりませ    ん", "エラー", MB_OK | MB_ICONERROR | MB_RIGHT); return 1; } このようにして実行ファイルのサブフォルダにあるtxtファイルを見つけることはできるのですが、このサブフォルダにあるtxtファイルのファイル名を1に変更しようとMoveFile( fd.cFileName, filename )などとしてもファイル名が変更できません。サブフォルダではなく、、((h = FindFirstFile("*.txt", &fd)のように指定して、実行ファイルにあるtxtのファイル名は変更できます。この実行ファイルのサブフォルダにある任意のtxtファイルを見つけだし、ファイル名を変える何かいい方法があればご教授お願いいたします。

  • Robocopy ERROR 5の回避策

    バックアップ元:OS:WindowsServer2008R2・Dドライブにデータ バックアップ先:TeraStation5400 Copyツール:robocopy batファイルを作成し、Wクリックすると正常にコピーが出来るのですが、Windowsタスクスケジュールから 実行すると、ERROR 5 (0x00000005)アクセスが拒否されました。になってしまいます。 ファイルServerは10.xxx.xxx.xxxのIPです。 ポートが2個あるので WindowsServerとTeraStrationは192.168.1.xxxローカルIPで直接繋いでます。 回避策があれば教えて下さい。 robo.bat robocopy.exe D:\Data\pdf_scan\\192.168.1.xxx Data\pdf_scan /copy:dat /xf*.eml /e /xo /nfl /ndl /r:0 /w:0 /v /ts /fp /tee /log+:scanlog.txt WindowsServer:Administratorでログオン スクリプト:C:¥Util¥Backup¥robo.bat タスクスケジュール: ユーザーがログインしているかどうかに係わらず実行 最上位の特権で実行 宜しくお願い致します。

  • select-stringについて

    robocopyとselect-stringについて robocopyの結果は、LOGオプションで確認できますが、 なんせ大量に出力され、コピーができなかったファイルやアクセスできなかった ファイルなどをlogの中から目視で特定するのは大変ですよね。 そこで、robocopyのログからコピーできなかったファイルだけを Powershellの文字列検索コマンド( Select-String)で抽出してみたのですが、 PowerShellの構文やselect-stringの使い方合っていますか? -pathとか良くわからない状態ですが、しっかりと、"エラー" プロセスはファイルにアクセスできません。別のプロセスが使用中です。" という箇所の行だけ出力されたファイルができあがりましたが、 本当に使い方など正しいのか・・・自身無しです。 select-stringではなく、コマンドプロンプトのfindではできないですかね? <実行> まず、コマンドプロンプトよりrobocopyを実施。 admin>robocopy C:\windows D:\bk /MIR /R:1 /W:3 /TEE /LOG:roblog.txt そして、PowerShellでコピーできなかったファイルだけを吐き出す。 get-content C:\user\administrator\robolog.txt | Select-String "エラー","プロセスはファイルにアクセスできません。別のプロセスが使用中です。" > erro.txt どなたかご教授下さい。