ショートカットのリンク先をシステム日付で指定したい方法はあるか

このQ&Aのポイント
  • ショートカットのリンク先を固定せずにシステム日付で指定する方法があるかについて調査しました。
  • 存在するファイルに対して、ショートカットのリンク先を動的に変更する方法があるのかについて解説します。
  • また、日付のフォーマットや日付の加減算に関しても調査しました。
回答を見る
  • ベストアンサー

ショートカットのリンク先(ファイル名)を固定ではなくシステム日付で指定したい

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

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

  • ベストアンサー
noname#9381
noname#9381
回答No.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

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

>最初から「'システム日付'.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) のような形で、本日のテキストファイルを開くことができます。(格納されているフォルダの場所を付け加える必要があります) 上記のような方法では、関連づけされているアプリケーションでファイルを開きますが、指定したアプリケーションで起動することもできると思います。

関連するQ&A

  • ショートカットファイルのリンク先がほしい

    void main(int argc,char *argv[]) { ....... fp=fopen(argv[1],"w+"); ....... } によってexeファイルをつくり このexeファイルにショートカットファイルをドラッグしてのショートカットフィルのリンク先ファイルを操作したいのですが argv[1]にはショートカットファイルのリンク先のファイルパスが入らずに ショートカットファイル(.LNK)自身のパスが入ってしまうために リンク先ファイルを操作できません どのようにしてプログラム上でリンク先パスを得ることができますか?

  • ショートカット・ファイルの 『リンク先を探す』 のことで

    あるソフトをインストールした時に、 デスクトップ上に「ショートカット」が自動作成されました。 で、本体のあるフォルダを見ようとしてそれを簡単に開くために、 そのショートカットの   「プロパティ」>「ショートカット」タブ>「リンク先を探す」ボタン でと思ったんですが、 その「リンク先を探す」というボタンが使えない状態でした。 ---- これは、 そのショートカットが Windows の古い OS 用で作られていて、 というようなケースでしょうか? --

  • ファイル名が日付(YYYYMMDD.txt)のテキストファイルを簡単に作る方法

    よくメモを取るのに秀丸やxyzzyでちょちょっとメモを取っていて、 YYYYMMDD.txt みたいな日付のファイル名をつけて保存しています。 でも、あれ、今日何日だっけ?とか考えるのが面倒なので クリックすると自動でその日の日付のテキストファイルを作成して開いてくれるソフトはありませんでしょうか? もしくはエディタの機能等で実現できますでしょうか? よろしくお願い致します。

  • ショートカットのリンク先について

    USBフラッシュメモリの中にショートカットを作成しているのですが、それを他のパソコンに接続するとパソコンによってドライブがF:だったりG:だったりするのでショートカットを作成しても使用できなくなります。 どのパソコンに接続してもショートカットが使える様にはできないのでしょうか? ショートカットのリンク先はそのUSBフラッシュメモリ内の別のフォルダの中の実行ファイルです。

  • ショートカットのリンク先を探すには?

    ショートカットのリンク先を探したいのですが、どうすればいいでしょうか? 通常、 ショートカットアイコンを右クリック、プロパティで表示される 「リンク先を探す(F)」で探せるようですが、 今回探したいショートカットは、「リンク先を探す(F)」が 灰色で抜けてボタンが無効化されています。 どうすればリンク先が見つかるでしょうか? 具体的には、インストールしたMSのworviewerで、 スタートメニューにショートカットが入っているのですが、リンク先がわかりません。 ノートパッドにショートカットをドラッグしたらファイル名が乱れながらも表示されたので、 検索をかけて見つけることはできたのですが、 こんな手間をかけずに見つけたいです。。

  • ExcelVBA ショートカットファイルからリンク先を取り出す

    こんにちは! 「.lnk」などのショートカットファイルからリンク先のパスを取り出したいのですが、どうやればいいのでしょうか? エクセルシートのセル上に、ショートカットファイルのパスが書いてあります

  • ファイル名の一部に年月日が入っているファイルを、指定日以前のもののみ一

    ファイル名の一部に年月日が入っているファイルを、指定日以前のもののみ一括削除する方法を教えてください。 上記の目的を果たすためにバッチファイルを作成しようと思っているのですが、当方プログラミング全般に関して全くの素人でして、Web検索で見つけたものを切り貼りして無理やり作ったところ、思うような結果になりませんでした。 (BCPフォルダ直下に当該ファイルを置いた場合削除できたが、サブフォルダのファイルは削除できない) どうもあと一歩で完成しそうな気がするので、できればこのバッチファイルを元に修正していただけると嬉しいのですが、VBScript等で作成した方が簡単なのであればバッチファイル以外の方法でも構いません。 宜しくお願い致します。 <予め決められているルール(変更は不可)> (1)2010年9月2日21時21分55秒14に作成されたファイルは、「201009」フォルダ配下に「ABC_DEF_GHI_2010090221215514.txt」と「ABC_DEF_GHI_2010090221215514.log」という名前がつけられる。 (2)1日1回バッチファイルを起動し、指定日以前に作成したファイルを全て削除する。 <作成したバッチファイル(DEL.bat)> @echo off cd ..\BCP REM --------------- REM 日付のn日前を求める REM 引数1・・・n(数値) REM 引数1がないときは1(前日) REM 引数2・・・YYYY/MM/DD 形式 REM 引数2がないときは本日とする。 REM --------------- if "%1"=="" ( set n=5 ) else ( set n=%1 ) if "%2"=="" ( for /F "tokens=1" %%a in ('date /t') do set orgdate=%%a ) else ( set orgdate=%2 ) :年月日の分割 set yy=%orgdate:~0,4% set mm=%orgdate:~5,2% set dd=%orgdate:~8,2% set count=0 :Repeat :月日の数値化(8進数対策) set /a mm=1%mm%-100 set /a dd=1%dd%-100 set /a dd=%dd%-1 if %dd% NEQ 0 goto end :月跨り処理 set /a mm=%mm%-1 if %mm% EQU 0 set mm=12&&set /a yy=%yy%-1 set /a dd=%dd%+31 if "%mm%"=="2" set /a dd=%dd%-3 if "%mm%"=="4" set /a dd=%dd%-1 if "%mm%"=="6" set /a dd=%dd%-1 if "%mm%"=="9" set /a dd=%dd%-1 if "%mm%"=="11" set /a dd=%dd%-1 :閏年処理 :4で割り切れるか? set /a u=%yy% %% 4 if not %u%==0 goto end :100で割り切れて、400で割り切れないか? set /a u=%yy% %% 400 set /a v=%yy% %% 100 if %v%==0 if not %u%==0 goto end :2月か? if %mm% EQU 2 set /a dd=%dd%+1 :END set mm=0%mm% set mm=%mm:~-2% set dd=0%dd% set dd=%dd:~-2% set /a count=%count%+1 set DT=ABC_DEF_GHI_%yy%%mm%%dd% IF %count% NEQ %n% goto Repeat for %%F in (*.txt *.log) do if %%F LSS %DT% del /s %%F :EXIT <フォルダ構造> 添付画像をご参照下さい。

  • TEXTファイルを日付・時刻で保存。

    VB2005.NETを使用しています。 System.IO.File.Create("C:\test.txt") System.IO.File.OpenText("C:\test.txt") などがありますが、このtestの部分を日付・時刻で保存したいのですが、可能ですか? 日付をstringに変更して、"C:\" & yyyymmdd & ".txt"としてもだめなようです。 書籍・インターネットを調べても解りませんでした。 よろしくお願いします。

  • 他のシステムからExcelに日付を貼り付ける

    こんばんは。 過去の質問を見ていたのですが、同じような質問を見つけられなかったのでどなたか知ってたら教えてください。 タイトルにあるように他のシステム(Aとします)からExcelに日付をコピー・ペーストしたいのですが、AのフォーマットがDD/MM/YYになっています。 PCの日付の設定自体をRegional OptionsでDD/MM/YYに変えてしまえば話は早いのですが、それをMM/DD/YYにしたままExcelにペーストすると日にちが12日より大きいものはDate型として認識しません。 例えば10/12/03はDateとして認識されますが2003年10月12日として認識されます。(本当は2003年12月10日なんですが。)又、15/12/03(2003年12月15日)はDateではなくGeneralとして認識されます。右クリックformat Cellで日付型に変換しても、CustomizeでDD/MM/YYとしてもやはり日付として認識しません。どうやったらExcelに日付として表示させることができますか?

  • ショートカットから、リンク先が呼び出せ無く成った。

    xp-pro sp2 システムの復元は、切って有る為、復元ポイントは無し そのためシステムの復元は使えません。 ------------------- ショートカット→プロパティー→「リンク先を探す」をクリックしても作動しません。 宜しく お願いいたします。