• ベストアンサー

ディレクトリ名変更してコピーするバッチ

初心者のですが質問させていただきます。 c:\"Documents and Settings"\"My name"\"元フォルダ" というフォルダを、デスクトップ(c:\"Documents and Settings"\"デスクトップ")にコピーし、c:\"Documents and Settings"\"My name"\"元フォルダ"\test.htmlファイルもコピー後のデスクトップにあるフォルダの中にコピーして、最後にのデスクトップのフォルダの名前を"agoago{その日の日付}go"に変更することはできますでしょうか? (上の文中の"{}"はフォルダ名には含まれません)

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

  • ベストアンサー
  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.2

★『XCOPY』でファイル/フォルダの丸ごとコピーが出来ます。 ・コピー方法は、  (1)SET DIR1="C:\Documents and Settings\ユーザ名\元フォルダ"  (2)SET DIR2="C:\Documents and Settings\ユーザ名\デスクトップ"  (3)SET DIR3="agoago{その日の日付}go"  (4)XCOPY /H /K /V /S /E %DIR1% %DIR2%  (5)REN %DIR2% %DIR3%  (6)FOR %%I IN ( 1 2 3 ) DO SET DIR%I= ・上記の操作をバッチファイル化すれば自動化できます。  上の(1)~(6)は分かり易いように環境変数を使っています。  直接『%DIR1%』部分を『"C:\Documents and Settings\ユーザ名\元フォルダ"』と指定しても同じです。 ・『FOR』コマンドの『%%I』はコマンドラインでは『%I』にします。注意! ・『XCOPY』でサブ・フォルダを丸ごとコピーできます。  『元フォルダ』の中にあると思われる『test.html』なども一緒にコピーされます。  『XCOPY /?』とするとヘルプが見れます。必ずオプションなどを確認して下さい。 ・以上。おわり。

shinmaiphp
質問者

お礼

無事解決いたしました。 どうもありがとうございました。

その他の回答 (1)

  • pita-gora
  • ベストアンサー率70% (102/145)
回答No.1

確認です。 >c:\"Documents and Settings"\"My name"\"元フォルダ" というフォルダを、デスクトップ(c:\"Documents and Settings"\"デスクトップ")にコピーし、 最初に元フォルダというフォルダをデスクトップにコピーする必要性はありますか。 単に、デスクトップに"agoago{その日の日付}go"というフォルダを作って、c:\"Documents and Settings"\"My name"\"元フォルダ"\test.htmlファイルをそのフォルダにコピーするだけの処理ではダメでしょうか。 ・test.html 以外のファイルやサブフォルダなどが多数あって、それもコピーしたいとか質問に書いていない理由があったら補足してください。 単にデスクトップに"agoago{その日の日付}go"というフォルダを作って、c:\"Documents and Settings"\"My name"\"元フォルダ"\test.htmlファイルをそのフォルダにコピーするだけの処理ならば以下のようになります。 set dt=%date:~-10% set dt=%dt:/=% md c:\"Documents and Settings"\"My name"\デスクトップ\agoago%dt%go pushd c:\"Documents and Settings"\"My name"\デスクトップ\agoago%dt%go copy c:\"Documents and Settings"\"My name"\"元フォルダ"\test.html . popd

shinmaiphp
質問者

お礼

無事解決いたしました。 どうもありがとうございました。

shinmaiphp
質問者

補足

補足遅くなりすいません。 >ファイルやサブフォルダなどが多数あって、 >それもコピーしたいとか質問に書いていない理由があったら >補足してください。 そのとおりです。 元フォルダ配下にはフォルダ/ファイルが入っており、 それを含めて丸ごとコピーしたいと言うことです。 質問自体がわかりにくくて申し訳ないです。

関連するQ&A