プロが教えるわが家の防犯対策術!

今日、20050119.txtというファイルを作り、
このファイルのショートカットを作成してたたくと、20050119.txtが開きます。
明日、20050120.txtというファイルを作り、
今日作成したショートカットのプロパティのリンク先(ファイル名)を
20050120.txtに変更してたたけば、20050120.txtが開きます。
この作業が面倒なので、最初から「'システム日付'.txt」をショートカットのリンク先にしたいのですが、
そのような技は可能でしょうか。
また、yyyymmddやyy-mm-ddなど自在に変換できるformat関数のようなものや
n日前(システム日付-n)などを表現するdateadd関数のようなものがあるのでしょうか。

A 回答 (2件)

ショートカットで可能です。



 ショートカットウィザードを起動し、パスを以下の形に指定します。(ウィザードでうまく入力できなければ適当なショートカットを作って、その後にプロパティを開いてパスを変更してください)

cmd.exe /C START notepad.exe "[そのファイルが存在するディレクトリ]\%DATE:~,4%%DATE:~5,-3%%DATE:~-2%.txt"

 そのテキストファイルを開くテキストエディタの指定が必要です。この例ではnote.padを指定しています。他のエディタを使用するならそのエディタを指定してください。

 コマンドインタプリタ cmd.exe からSTARTコマンドでそのテキストエディタを起動させていますが、この例ではWindows 2000およびWindows XPを前提としています。98やMEでしたらコマンドインタプリタとして command.com を指定してください(オプションは同じく"/C"です。これは2000やXPでも使えますのでOSが混在する環境であればこちらを指定した方がいいでしょう)。

 日付に関してはシステムが持っている動的環境変数を切り出して使用してます。一度で切り出す要素が一つだけになるので、あまりかっこいい使い方ではありませんが…

 なお、ファイル名は最初のお題のyyyymmdd形式としていますが、yy-mm-dd形式とする場合は、ファイル名部分を以下のように指定することで可能です。

%DATE:~2,-6%-%DATE:~5,-3%-%DATE:~-2%.txt
    • good
    • 0

>最初から「'システム日付'.txt」をショートカットのリンク先にしたい


は、できないと思います。

バッチやスクリプトでテキストファイルを開く様にされたらどうでしょうか。
VBScriptには、dateadd関数はあります。
(言われるようなformat関数はありません)

VBScriptを使う場合
Set wsho = WScript.CreateObject("WScript.Shell")
today = Date
dateStr = Year(today) & right(0 & Month(today),2) & right(0 & day(today),2) & ".txt"
wsho.Run(dateStr)
のような形で、本日のテキストファイルを開くことができます。(格納されているフォルダの場所を付け加える必要があります)
上記のような方法では、関連づけされているアプリケーションでファイルを開きますが、指定したアプリケーションで起動することもできると思います。
    • good
    • 0

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