アプリ版:「スタンプのみでお礼する」機能のリリースについて

コマンドプロンプトで、

>XCOPY C:\documents D:\documents >xcopy-2006-11-13-0912.log

のようなログを出力しています。この「2006-11-13-0912」の部分を動的に現在の日時から取得したいのです。

どのようにしたらよいでしょうか。サイトのURLでも結構です。どうぞよろしくお願いします。

A 回答 (4件)

バッチファイルでも出来るかも知れませんが、記述がわかり難くくなるのが嫌なので、私は vbs(WSH) でやってます。



テキストファイルに下記スクリプトを記述し、拡張子を vbs とします。
そのスクリプトファイルをダブルクリックで実行できます。コマンドプロンプトからは拡張子なしで実行できます。PATH が通っていればファイル名だけでOKです。

日付,時間の文字列生成は「地域と言語のオプション」の設定に影響されますので、お気を付け下さい。
この例では "ファイル名_061231_235959.log" となります。
ご都合の良いようにアレンジして下さい。

Dim oFS, oSH
Dim cNow, ddd
Set oFS = WScript.CreateObject( "Scripting.FileSystemObject" )
Set oSH = CreateObject("WScript.Shell")
'-------- 日時 文字列 --------
cNow = Date & Right( " 0" & Time , 9 )
ddd = "_" & mid(cNow,3,2) & mid(cNow,6,2) & mid(cNow,9,2) & "_" & mid(cNow,12,2) & mid(cNow,15,2) & mid(cNow,18,2)
'------- バックアップ --------
oFS.CopyFile "C:\~\ファイル名.xxx" , "D:\~\ファイル名" & ddd & ".log"
    • good
    • 0
この回答へのお礼

どうもありがとうございます。今回の件でvbsをしっかり学んでみたくなりました。スクリプト、参考にさせていただきます。

お礼日時:2006/11/23 10:49

No.2の回答者です。


参考URLを付け忘れていたので補足しておきます。

お礼を見て今一度読んでみましたが、やはりバージョンにより少し異なるようです。
こちらにはWindows2000Proしかない為、検証結果をフィードバックして下さるとありがたいです。

参考URL:http://www.atmarkit.co.jp/fwin2k/win2ktips/419ba …
    • good
    • 0
この回答へのお礼

度々どうもありがとうございます。
遅くなりまして申し訳ありません。

XPで動作しなかったのは、地域と日付の設定の問題だけだったようです。

私のXP環境では、
>echo %date%
の結果が
11/28/2006 Tue
でしたので、
xcopy-%DATE:~6,4%-%DATE:~0,2%-%DATE:~3,2%-%TIME:~0,2%%TIME:~3,2%.log

としなければいけませんでした。基本的な事でしたね、すみません。どうもありがとうございます。

お礼日時:2006/11/29 05:07

環境変数(%DATE%や%TIME%)を使用するのがいいと思います。



OSのバージョンによるかも知れませんが
xcopy-2006-11-13-0912.log
を以下の様に書けばいけると思います。
xcopy-%DATE:~-10,4%-%DATE:~-5,2%-%DATE:~-2,2%-%TIME:~0,2%%TIME:~3,2%.log
    • good
    • 0
この回答へのお礼

どうもありがとうございます。当方の環境でテストしたところ、英語XPSP2では動かなかったのですが、英語Win2000SP4では問題なく動きました。XPの方でも色々試してみたいと思います。ありがとうございました。

お礼日時:2006/11/23 10:46

dateコマンドとtimeコマンドから必要な値だけ取り出してつなげてあげればよいと思います。



forやsetコマンドとそれぞれのコマンドで実現可能です。
googleなどで検索しても比較的簡単に見つかると思うので調べてみてはいかがですか。
    • good
    • 0
この回答へのお礼

どうもありがとうございます。forとsetとは思いつきませんでした。

お礼日時:2006/11/15 04:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!