- ベストアンサー
バッチファイルにてデータコピー処理
端末環境:OS windowsNT4.0 D:\data_backup フォルダ内に data_backup.1 data_backup.2 data_backup.3 data_backup.4 (中略) data_backup.31 ファイルが存在します そこで質問です、上記OSの端末にて 日時(システム時刻)(例 2005/06/20 16:25)にバッチファイルを 実行し、2005/06/20 ですので、 D:\data_backup\data_backup.20 (←日付) のみを D\バックアップ\data_backup にコピーするには、 どのようにすれば良いのでしょうか? xcopy D:\data_backup D\バックアップ\data_backup
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
for /f %%A in ('date/t') do set D=%%A set /a D=1%D:~8,2%-100 copy D:\data_backup\data_backup.%D% D:\バックアップ\data_backup で多分いけると思いますが、NT4環境が無いので確認出来ません。うまく行かない場合は、 コマンドプロンプトで、date/tと、for /f %A in ('date/t') do echo %A をそれぞれ打った場合の表示結果を補足ください。
その他の回答 (1)
- earthlight
- ベストアンサー率27% (284/1031)
力技ですが、OS標準機能のタスクを利用して日付ごとに違う処理を行えばいいのでは。 タスクへの登録は以下のようなATコマンドを使ったバッチファイルを作って1回だけ実行すればOK。 at 16:25 /every:1 "COPY D:\data_backup\data_backup.1 D\バックアップ\data_backup" at 16:25 /every:2 "COPY D:\data_backup\data_backup.2 D\バックアップ\data_backup" at 16:25 /every:3 "COPY D:\data_backup\data_backup.3 D\バックアップ\data_backup" at 16:25 /every:4 "COPY D:\data_backup\data_backup.4 D\バックアップ\data_backup" (以下、31日分まで作成。)