batファイルで以下の処理を実行したい
1.現在の日付(システム日付)を取得して指定したネットワークドライブの中にあるフォルダ上に新規フォルダを作成(2015****等)
2.別ドライブに保存されているファイル(20個弱)を作成したフォルダの中にコピー
3.2でコピーしたファイルをデスクトップにコピー
以上のことを実現したいです。
1をフォルダ固定でコピーするという前提だとxcopyで実現できました。
1を日付で変動する名前にした場合は保存するパスが変更されると思うのですが、どうすれば良いでしょう?
copy のパス部分に%CD%や%作成したフォルダ名%という変数を入れてしまうとbatファイルが正常にどうさしてくれません。
対応方法をご教示願います。
日付の変数への設定・展開は、例えば以下のようにできますが、もしかしてIF文やFOR文の中で変数を設定/変更しようとしていますか?
そうなら遅延展開する必要がありますので、set文とsetlocal文のヘルプを読めばわかると思います。
また、VisualBatを使うとデバッグがし易いと思います。
@echo off
setlocal
rem 変数設定
set dt=%date:/=%
set dt=%dt: =0%
set tm=%time::=%
set tm=%tm:.=%
set tm=%tm: =0%
set dst_dir=%dt%_%tm%
rem 変数展開
echo %dst_dir%
endlocal