• ベストアンサー

バッチファイルのコマンド

なんかバッチファイルで ROBOCOPY D:\RAMImage F:\icache\cache /e こんな感じ↑のバッチファイルを実行するとF:\icache\cacheフォルダの中にもうひとつのcacheフォルダとそれ以下のファイルができてしまうのですがなぜですか? OSはVistaです。 よろしくおねがいします。

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

  • ベストアンサー
回答No.2

記載内容だけでは実態を掴むのは無理です。 これだけならば、/e を指定しているので、D:\RAMImage以下にある、cache フォルダー以下の全てをコピーしています。としか言えませんね。 >バッチファイルのコマンド これは表現としては、ちょこっと違います。”WindowsのコマンドでROBOCOPY”が妥当です。 Robocopyはサーバー系のOSでコマンドレベルでバックアップをするツールです。Vistaから標準でクラインアトOSにも付属するようになりました。 /e とは :: 空のディレクトリを含むサブディレクトリをコピーします。 これはrobocopy /? をコマンドプロンプトで実行すると使い方がでますので、それを見れば一目瞭然ですね。 ちなみにこの機能は通常 xcopy コマンドで行うのが普通です。 robocopyコマンドの真骨頂は /mir オプションですね。 これ以外の回答が欲しければ、状況の詳細な説明が必要です。

keibun
質問者

お礼

コピー先をF:\icacheにしたらなおりました。 回答ありがとうございました。

その他の回答 (1)

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

んーとですね これはコピーコマンドのひとつなんですが、基本的に2つのディレクトリを同期させるコマンドなんです ですので、片方にないファイルとフォルダが無い側に追加されます  xcopy D:\RAMImage F:\icache\cache /e  xcopy F:\icache\cache D:\RAMImage /e を同時に行っていると思ってください ※ Windows Vista で追加されたコマンドですが、リソースキット・ツールを入手することで   Windows XP でも利用できるようになります   http://technet.microsoft.com/ja-jp/library/bb968968(en-us).aspx

keibun
質問者

お礼

コピー先をF:\icacheにしたらなおりました。 回答ありがとうございました。

関連するQ&A

  • バッチファイルの実行方法

    Windows Server 2003で、Robocopy.exe(Resource KitToolsからインストールしたもの)の連続処理のために、下記のようなバッチファイル(.bat)を用意しました。 robocopy "D:\a" "F:\a" /E /copy:DT /NP /LOG:c:\robocopy.txt /TEE robocopy "D:\b" "F:\b" /E /copy:DT /NP /LOG+:c:\robocopy.txt /TEE .... コマンドの各行は間違っていないようです(cmd.exeに各行を打ち込んで実行すると正常に処理されます)。しかし.batをダブルクリックするとコマンドプロンプト画面内でバッチファイルの1行目がすごい勢いで流れるだけで、処理されません(コマンドプロンプトを強制終了するしかありません)。 最初は.batをダブルクリックすると正常に処理されていたのですが、急にこうなりました。なぜでしょうか? command.comから.batファイルを実行すると正常に処理されます。command.comから実行しないといけないものなのでしょうか? バッチファイルの拡張子を.batにするか、.comにするか関係があるでしょうか?

  • コマンドプロンプト

    コマンドプロンプトで robocopy a b /mir /xo robocopy c d /mir /xo robocopy e f /mir /xo というバッチファイルを作ったとして、共通部分の/mir /xoを毎回打たなくてもいい方法はあるのでしょうか。 理想としては aaa = /mir /xo robocopy a b aaa robocopy c d aaa robocopy e f aaa みたいにできると、助かります。

  • バッチファイル

    お世話になります。 バッチファイルを用いて、実行されるプログラムがあります。 私の作成したものではないので、どのようなやり取りが内部で行われているのかは、詳細はわかりません。 例えば、D:\Programフォルダーの中にプルグラムをインストールしたとすれば、引数を2つ指定して(例:aaaとbbb)、バッチファイル(test.bat)を以下のように実行すれば、プログラムは正常に作動します。 D:\Program>test aaa bbb しかし、以下の場合には、正常に作動しません。 C:\>D:\Program>test aaa bbb つまり、パスを含めて、バッチファイルを実行することは、このプログラムは許可してくれません。 ここで、例えば、VBなどを用いて、テキストボックスなどで引数を二つ指定して、実行ボタンをクリックすれば、必ず、D:\Program>test aaa bbbという状態で、バッチファイルが実行されるようにするには、どのようにすればよろしいでしょうか? もしご存知の方がいらっしゃいましたら、是非、ご教授願います。 以上、宜しくお願いいたします。

  • バッチファイルでフォルダを作りたい

    ”123”というフォルダの中にバッチファイルがあります このバッチファイルを実行すると、フォルダ名を取得して、”123 あ”というフォルダと ”123 い”というフォルダをフォルダ”123”の中に作りたいのですができるのでしょうか? そして、このバッチファイルをコピーして、フォルダ”456”の中に貼り付けます。 ここでバッチファイルを実行すると、フォルダ”456”のなかに、”456 あ”と”456 い”というフォルダを 作れるようにしたいのですが。 お分かりの方、よろしくお願いいたします。

  • MS-DOSバッチファイルで

    以下のようなMS-DOSバッチファイルで同じ処理の繰り返しを行う場合、for文を使って書くにはどのようにしたらよいでしょうか? 下記はvistaバージョンですがwindowsでも大丈夫です。ご教授宜しくお願い致します。 robocopy %CP_FROM_DIR1% %CP_TO_DIR%%DIR_a% /E /R:2 /W:1 >> %LOGFILE% robocopy %CP_FROM_DIR2% %CP_TO_DIR%%DIR_b% /E /R:2 /W:1 >> %LOGFILE% robocopy %CP_FROM_DIR3% %CP_TO_DIR%%DIR_c% /E /R:2 /W:1 >> %LOGFILE% robocopy %CP_FROM_DIR4% %CP_TO_DIR%%DIR_d% /E /R:2 /W:1 >> %LOGFILE% robocopy %CP_FROM_DIR5% %CP_TO_DIR%%DIR_e% /E /R:2 /W:1 >> %LOGFILE% robocopy %CP_FROM_DIR6% %CP_TO_DIR%%DIR_f% /E /R:2 /W:1 >> %LOGFILE% robocopy %CP_FROM_DIR7% %CP_TO_DIR%%DIR_g% /E /R:2 /W:1 >> %LOGFILE% robocopy %CP_FROM_DIR8% %CP_TO_DIR%%DIR_h% /E /R:2 /W:1 >> %LOGFILE%

  • バッチファイルにて指定フォルダごとコピーする方法

    バッチファイル初心者の為ご教授をお願いします。 Cドライブ直下に下記のようなフォルダがあります。 (それぞれのフォルダ内には沢山のフォルダやファイルが保存されています) 0001_2016_04_29 0001_2016_06_29 0001_2016_07_14 0002_2016_06_29 0002_2016_07_14 0002_2016_07_25 これをFドライブ(USBHDD)へフォルダ毎コピーしたいと思います。 XCOPYもしくはROBOCOPYでワイルドカードを使用しコピー出来ないでしょうか? Fドライブへは差分で保存し続けたいのでミラーは使用出来ません。 自分なりにしらべて下記のように記述してみたのですがうまくいきませんでした。 for /D %%A in (C:\0001*) do xcopy %%A /e F:\.

  • 1つ下のファイルをコピーするバッチファイル

    コマンドプロンプトで実行するバッチファイル(x.bat)で C:\Aというフォルダのさらに1つ下のフォルダ (このフォルダは1つのみで名前は毎回変化します) の中にあるc.mpgというファイルを D:\Bフォルダにコピーするバッチファイルを 作りたいのですがどのように記述すればよいのでしょうか。 例えば、C:\A\data_20120922195626というフォルダ (data_20120922195626というフォルダ名は任意の名前ですが C:\Aフォルダの中にはこのフォルダ1つしかありません) の中に\c.mpgというファイルがあるとします。 バッチファイル x.bat を実行すると D:\Bフォルダにc.mpgをコピーしたいのです。 なお、data_20120922195626というフォルダの名前は バッチファイルを実行する時には毎回異っていますが バッチファイル実行中は変化しません。 VBscriptやwshなどは使わずWindosXPの標準DOS機能のみで お願いします。(WindosXP SP3)

  • バッチファイルでサブディレクトリィにコピー

    あるディレクトリィで以下のバッチファイルを実行し、サブディレクトリィの一番深い階層にあるフォルダに、同じファイル(zzz.txt)をコピーしようとネットで調べたりして、以下のバッチファイルを実行してもうまくいきません。どうしたらいいか教えてください。よろしくお願いします。 for /d %%d in (*) do cd %%d for /d %%a in (*) do copy zzz.txt "%%a\"

  • バッチファイル 時間指定

    バッチファイルをスタートアップに入れています。 手軽で便利なのですが、起動するたびに出てしまうので、if文か何かを使って、前回の実行してから12時間経っていない場合はバッチファイルを終了させるようにできないでしょうか。 robocopyを使ったバッチで、オプションでログを作成するようにしています。そのテキストファイルの作成時間で12時間経っているかどうか判断できればと思っています。 と質問したところ、以下の回答を得ました。 check.vbs ------------------------- Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.GetFile("logfile.txt") WScript.Quit(DateDiff("h",f.DateCreated,Now)>12) ------------------------- バッチでは、先頭で、 cscript check.vbs || exit これを追加したのですが、12時間経っていなくても実行されます。 なぜなのでしょうか。

  • バッチファイルのタスクスケジューラでの実行について教えて下さい。

    AAAのパソコンのDドライブの111というフォルダを、ネットワーク経由でBBBのパソコンのDドライブの222という共有フォルダ内に333というフォルダ内へxcopyでコピーするバッチ(backup.bat)を作ってタスクスケジューラで1日1回自動実行させようと思うのですが、うまくいきません。どうすればよいのでしょうか? AAAパソコン:Windows2000 professional SP4        000フォルダ内にbackup.bat(共有フォルダではないです)        111フォルダは共有フォルダではないです        ユーザーアカウント⇒Administrator        パスワードはないです        BBBパソコン:WindowsXP professional SP2        222フォルダは共有フォルダ        333フォルダは222の共有フォルダの中        ユーザーアカウント⇒バックアップ        パスワード⇒123 バッチファイル(backup.bat)  ↓  net use \\BBB\222 123 /user:バックアップ  xcopy d:\111 \\BBB\222\333\ /E/C/F/H/R/K> d:\バックアップログ.log  net use \\BBB\222 /delete 上記バッチファイルをAAAパソコンの「タスクの実行するファイル名」に直接登録(d:\000\backup.bat)して実行させてみたのですが、タスクの詳細設定のログ表示でログを見ると、『タスクは次の終了コードで完了しました:(1).』となっていて実行されませんでした。 cmd.exe /c d:\000\backup.batでタスク登録してもだめでした。 バッチファイル(backup.bat)をダブルクリックして実行するとBBBパソコンにコピーできます。 タスク設定時の   実行するアカウント名⇒AAA\Administrator   パスワードはなし よろしくお願いいたします。

専門家に質問してみよう