受け取りフォルダ名を指定しないXCOPYはできる?

このQ&Aのポイント
  • タイトルのとおり、受け取りフォルダ名を指定しないXCOPYの方法を模索しています。
  • 通常であれば、XCOPY /S/E/I C:¥ProgramSource¥*.* D:¥BACKUP¥ProgramSource¥*.* でコピーできるのですが、この方法だと間違えて受け取りフォルダ名をD:¥BACKUP¥PROGRAMSOURCE¥*.* と書いてしまうとターゲットが大文字になってしまいます。
  • どうにか送り側のフォルダ名を使うことはできないでしょうか?
回答を見る
  • ベストアンサー

受け取りフォルダ名を指定しないXCOPYはできる?

タイトルのとおり、受け取りフォルダ名を指定しないXCOPYの方法を模索しています。 例: C:¥ProgramSourceディレクトリの内容をD:¥BACKUPフォルダにコピーしたい。   C:¥ProgramSourceの中身がA.c, B.Hという2つのファイルが存在するときには、D:¥BACKUPフォルダ内に   D:¥BACKUP¥ProgramSource¥A.c   D:¥BACKUP¥ProgramSource¥B.H   というファイルを作りたいのです。 通常であれば、XCOPY /S/E/I C:¥ProgramSource¥*.* D:¥BACKUP¥ProgramSource¥*.* でコピーできるのですが、この方法だと間違えて受け取りフォルダ名をD:¥BACKUP¥PROGRAMSOURCE¥*.* と書いてしまうとターゲットが大文字になってしまいます。 どうにか送り側のフォルダ名を使うことはできないでしょうか? ※/と¥は文字化けするかもしれないので、全角文字で書いています。

noname#256877
noname#256877

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

  • ベストアンサー
noname#16386
noname#16386
回答No.3

よく分からないのですが、No.2さんの方法だと、d:\backup\test になっちゃうからいやってことなんでしょうかねぇ? (d:\backup\work\test になって欲しいってことかな?) バッチファイル書いたらどうでしょう? ---- @echo off IF "%~1" == "" ( echo usage bkup.bat [dirName] ) else ( echo xcopy /s /e /i %1 "d:\backup%~pn1" ) ---- こんな感じで。これを bkup.bat って名前で保存して bkup "c:\program files" などとバックアップしたいディレクトリを指定して(空白が含まれる時は""つけて)実行してみてください。このままでは実行されず、コマンドが表示されるので、確認してください。気に入ったら echo xcopy の部分の echo を消して実際に適当なパラメータつければいいんじゃないかと思いますが。 (なお、xcopy はディレクトリ末尾に \*.* は指定する必要はありません) %1 は引数で、さらに ~ と変な記号が付いてますが、 詳しくは cmd.exe /? で調べてください。

noname#256877
質問者

お礼

ありがとうございます。 バッチファイルもしくはvbsで行うことを考えていました(それしか方法がないかなぁと思っていました)が、結構、シンプルなバッチファイルだったので正直驚いております。(最近の拡張シェル?置換可能パラメータでここまでできるとは気づきませんでした。)

その他の回答 (2)

  • 7colors
  • ベストアンサー率25% (29/114)
回答No.2

Cの直下は厳しいですね。 特定のディレクトリ以下のフォルダごと全てのコピーでは、何か不都合があるのでしょうか? フォルダ構成 c:\work\test(フォルダtest内にはファイルが存在するものとする) XCOPY c:\work d:\backup /s 結果 d:\backup\test

noname#256877
質問者

お礼

ありがとうございます。 > 特定のディレクトリ以下のフォルダごと全てのコピーでは、何か不都合があるのでしょうか? 不都合です。(すみません) バックアップ目的ではなく、ある時点での対象フォルダ(またこれがばらばらの位置にある)の差分をとるためにその時点のフォルダの内容を採取しようと思っています。 やはり、通常のXCOPYではどうしようもないでしょう。 ありがとうございました

  • notnot
  • ベストアンサー率47% (4847/10260)
回答No.1

出来ないと思います。 解決案としては、 ・打ち込まず、コピーペーストする ・バッチファイルにする

noname#256877
質問者

お礼

ありがとうございます。 やはり無理ですかね~。(;;) もうすこし、検討してみます。

関連するQ&A

  • XCOPYで指定したフォルダとファイルをコピーしたい

    C:\AAAフォルダとC:\AAA以下のファイルをコピーしたくて、 XCOPY C:\AAA D:\BBB /E とすると、コピー先のD:\BBBにはAAAフォルダにあるファイルはコピーされるのですが、AAAフォルダそのものはコピーされません。 XCOPY C:\ D:\BBB /E とすればコピーできるのですが、そうするとC:\のほかのフォルダもコピーされてしまいます。 EXCLUDEオプションを使うには指定するファイルが多いため、あまり使いたくありません。(コピーする前にMDでコピー先にAAAフォルダを作成するのもなるべく避けたい) 知っている方がいらしたら教えて下さい。

  • DOSのXCOPYの使い方を教えて下さい

    XCOPYでドライブのフォルダーとファイルを全てコピーしようとしてます。深夜にスケジュールにて実行する予定でオペレーター介入が不可能です。 XCOPY e:\* d:\SERVER2\BACKUP /EYC で実行すると *********************************** C:\>xcopy d:* gsfhp_bk /EY gsfhp_bk は受け側のファイル名です またはディレクトリ名ですか (F= ファイル、D= ディレクトリ)? *********************************** とオペレーター介入を要求してきます何とかなら無いでしょうか?

  • xcopyの/dオプションについて

    xcopyを行うバッチを流し、サーバA⇒サーバBへの差分バックアップを毎日行いたいと考えています。 xcopyの/Dオプションは「日付が指定されなかったときは、送り側の日付が受け側の日付より新しいファイルだけをコピーします。」と書かれていたのですが、実際に下記のオプションをつけて複数回同様の処理を行ってみると、同更新日付のファイルであるにもかかわらず、上書き処理が行われてしまうファイルがいくつもありました。 ------------------xcopy処理---------------------- xcopy \\サーバA \\サーバB /e /y /i /h /c /z /d /k /r ------------------------------------------------- xcopyのDオプションで日付を指定しなかった場合、実際にはどこを比較して、コピー処理の判断を行っているのでしょうか ご教授、よろしくお願いいたします。

  • batファイルのxcopyでエラー

    Windows Server2003のバックアップをbatファイルのxcopyを使って行いました。 xcopy F:\...\フォルダ名\*.* L:\BACKUP\フォルダ名 /d /e /c /k /r /h /y > L:\BACKUP\BACKUPLOG\フォルダ名.log そのとき、「コピー中にエラーが起きました。」というメッセージが表示され、正常にコピーできないサブフォルダがありました。 フォルダ名に半角括弧が含まれていることが原因でコピーできなかったと考えているのですが、そのようなことってあるのでしょうか。 しかも、エラーメッセージをほっといたら消えていたので、どこのフォルダだったかわからなくなってしまいました。 バックアップは定期的に行っているのですが、2回目以降はなぜかエラーメッセージが出てきません。 しかもログファイルは上書きされていて、「○○個のファイルがコピーされました。」という旨のメッセージしか書かれていません。 もう一度エラーメッセージを表示させてそのサブフォルダを見つける良い方法があったら、教えてください。 お願いします。

  • XCOPYのショートカットが作れない XP

    マイドキュメントをD:に移しています。コピー元 D:\マイドキュメント コピー先 E:\Backup\マイドキュメントです。 ショートカット作成画面で XCOPY"D:\マイドキュメント""E:\Backup\マイドキュメント"/e/d/h/r/y と入力すると 「ファイルC:XCOPY"D:\マイドキュメント""E:\Backup\マイドキュメント"/e/d/h/r/yが見つかりません」と出ます。

  • XCOPY コマンドがドライブパスを消してしまう

    Win7x64 Ultimate C: システム D: データ という風に使ってます。  この度、D:データ のバックアップのためにハードディスクを追加しました。  C:\Backup というフォルダを新規作成し、この追加したバックアップ用のハードディスクを論理ディスクマネージャから C:\Backup というドライブパスに割り当てました。  エクスプローラで C:\Backup を見ると、違ったアイコンの絵に変わっており、数GBのファイルを置いても C: の容量が減らないことから、C:\Backup の中身は追加されたハードディスクに繋がっていると判断しました。  次に、D: → C:\Backup の全データコピーのために    xcopy d:\ c:\Backup /D /E /V /C /I /R /K /X /Y というコマンドで行うようにしてみました。  試しに、叩いてみて暫く放置させてみると・・・  C:\ がディスク空き不足で止まってました。  ??と思って、エクスプローラを見ると、先ほどまで違ったアイコンになっていた C:\Backup のフォルダアイコンが普通のアイコンに戻っていて、直に C: の中にファイルが置かれてました。  論理ディスクマネージャで確認しますと、XCOPY をするまでは確実に出来ていた C:\Backup へのドライブパスも消えてました。  総論すると、XCOPY を実行開始したタイミングで、ドライブパスが勝手に削除されてしまう、という風になってます。  エクスプローラで丸コピーする分には(当然ですが)ドライブパスも勝手に削除されずに、正しく追加されたハードディスクにコピーされます。  ちなみに、追加したハードディスクを C:\Backup じゃなくて、E: 等の普通のドライブレターに割り当てて、XCOPY ~ もそれに準じて書き換えて実行しますと、所望の動作をしてくれます。 (もちろんドライブレターを勝手に消すこともない)  この XCOPY の動作って変じゃないですか?  私の Win7 だけで起きる現象なんでしょうか??

  • xcopyができない

    cドライブのaフォルダを、フォルダごと、cドライブのbフォルダの中にコピーしたいのですが、 mysqlで、コマンドプロンプトから xcopy c:\a c:\b\ /e; と入力してEnterを押すと、次のようなエラーが出ます。 unknown command '\a'. unknown command '\b'. unknown command '\'. どうしたらxcopyができるのか教えてください。

    • ベストアンサー
    • MySQL
  • exclude xcopy 除外フォルダ指定の方法

    どうしてもわからない事があり、ご質問させて頂きます。 コマンドプロンプトの xcopy を使用して外付けHDD上のファイル(フォルダ含む)のバックアップを行ないたいのですが、外付けHDD内にある「ごみ箱」フォルダを除外したいのですが、その方法が分かりません。 「ごみ箱」フォルダは、外付けHDDの機能で用意されているものなのですが 中身が30万ファイル程あり、フォルダの中身を削除するのにとても時間がかかりそうなので、excludeを用いて除外しようと思いました。 ------------------------- xcopy Z:\ Q:\ /EXCLUDE:Z:\hogehoge\xcopy-excludelist.txt /D /S /E /H /C /Y /R ------------------------- で、除外指定ファイル(xcopy-excludelist.txt)の中身は、 ------------------------- ごみ箱/** ------------------------- としてみたのですが、「ゴミ箱」フォルダ毎コピーし始めてしまいます。 ご教授いただければと思います。 宜しくお願い致します。

  • XCOPYコマンドについて。

    マシンAのdドライブのファイルAをマシンBのCドライブ配下にコピーしたいのですが、 そのときのxcopyのコマンドを教えてください。。

  • XCOPYで1階層目のフォルダ名のみコピーする

    XCOPYで1階層目のフォルダ名のみすべてコピー (その中のファイルはコピーしない) 方法を調べたのですが、サブディレクトリをコピーする オプションは見つけましたが 1階層目のディレクトリのみをコピーする方法はありますか? xcopy 送り元 送り先 /T までは調べました 使用しているOSはWINDOWS8.1です。 よろしくお願いします。