「あるファイルのタイムスタンプを、別のファイルのタイムスタンプで更新したい」って時に、結構便利なんじゃないかな?ってスクリプトです。
 ちなみに、変更するのは"更新時刻"のみ。

*** touch.vbs [#jcaf874e]
#ref(touch.vbs);
 '
 ' 第2引数以降のファイルのタイムスタンプを
 ' 第1引数のファイルのタイムスタンプで更新する。
 '
 ' @authoer Jomora( kazuhiko@jomura.net http://jomura.net )
 ' @version 2010.07.18 初版作成
 
 
 '**Start Encode**
 
 Set objArgs = WScript.Arguments.Unnamed
 If objArgs.Count < 2 Then
 	WScript.Echo "2つ以上のファイルを指定してください。"
 	WScript.Quit
 End If
 
 ' main
 
 Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
 Set objShell = CreateObject("Shell.Application")
 
 ' タイムスタンプ取得
 modifyDate = objFSO.GetFile(objArgs.Item(0)).DateLastModified
 
 ' タイムスタンプ設定
 For i = 1 To objArgs.Count - 1
 	Set objFile = objFSO.GetFile(objArgs.Item(i))
 '	WScript.Echo "path:" & objFile.ParentFolder.Path & " name:" & objFile.Name
 	Set shellFolder = objShell.NameSpace(objFile.ParentFolder.Path)
 	Set shellFile = shellFolder.ParseName(objFile.Name)
 	shellFile.ModifyDate  = modifyDate
 Next
 
 WScript.Quit

- 使い方
++ 対象のファイル(複数)を選択状態にして、そのうちの元タイムスタンプのファイルを摘んで、touch.vbsにDropする。
++ touch.vbsをコンテキストメニューの"送る"に登録しておく。対象のファイル(複数)を選択状態にして、そのうちの元タイムスタンプのファイルをtouch.vbsに"送る"。

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS