• ベストアンサー

xcopyを用いて、別ドライブにコピーするには?

コピー元のあるサブディレクトリーを含めて、別ドライブにコピーをしたいと思います。(※プラットフォームは Windows) 別ドライブとは、USBメモリです。 試してみたのは、 os = `xcopy .\org_data\*.* L:\ /s /e /v` os = `xcopy ./org_data/*.* L:/ /s /e /v` os = system(".\org_data\*.* L:\ /s /e /v") os = systemu(".\org_data\*.* L:\ /s /e /v") これら、いずれもNGでした。 xcopyに拘っていませんが、copy & compareをさせたいと思います。 何か良い方法を、知りませんか?

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

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

` ` や " " の中で \ を指定するには、 \\ と書くと言うところでの躓きですかね? os = `xcopy .\\org_data\\*.* L:\\ /s /e /v` でどうですか?

xcode_15
質問者

お礼

ありがとうございます! 無事に、コピー出来ました。 (^-^)/ Rubyは、「/」も認識したりで、混乱していました。

すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.3

回答が表示されないので、再投稿。 xcopy ./org_data/*.* L:/ /s /e /v は、cmdで実行してもエラーですね。 \はシステム呼び出しでは2回エスケープが必要なんですかね? 手持ちの環境では `xcopy .\\\\org_data d:\\\\ /s /e /v` system('xcopy c:\\\\org_data d:\\\\ /s /e /v') 等でうまくいきました。 上で、既にファイルがあるときの表示に問題がありますね。 ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-cygwin] ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-mswin32]

すると、全ての回答が全文表示されます。
回答No.2

\がエスケープされていませんね。 xcopy ./org_data/*.* L:/ /s /e /v は、cmdで実行してもエラーになりますね。 `xcopy .\\\\org_data l:\\\\ /s /e /v` system('xcopy c:\\\\org_data l:\\\\ /s /e /v') では、どうでしょうか? 上は、既にファイルがある場合に表示がされませんので不便ですかね。

xcode_15
質問者

お礼

ご解答を戴きまして、ありがとうございます。 「\\」を、付ける事によって解決しました。

すると、全ての回答が全文表示されます。

関連するQ&A