2017-02-15 9 views
0

小さなコードスニペットを素早くサポートする必要があります。 ファイルに「触れたい」、または「最終更新日」を変更するとします。ファイルの「最終更新日」を設定する|ファイルをタッチする(Noob-request)

私は、次のコード・スニペットを持っている:それは作品

Touch "C:\temp\VBS", "test.txt", "1/01/2006 11:00:00 PM" 

Function Touch(strDir, strFileName, DateTime) 

Dim objShell, objFolder 

Set objShell = CreateObject("Shell.Application") 
Set objFolder = objShell.NameSpace(strDir) 
objFolder.Items.Item(strFileName).ModifyDate = DateTime 

End Function 

が、私は機能に別々のフォルダやファイルを渡す必要はありません。 ( "C:\ temp \ VBS"と "test.txt") FQDNまたは "フルネーム"を渡したいと思います。 (「C:\ tempに\ VBS \ test.txtの」)

私はこのスプリットハイテクを使用して、私は自分でVBを書くことができないのですグーグル経由で見つかったすべてのサンプル...

はあなたに

ありがとう

答えて

2

splitは明らかに.NameSpaceと.Itemの異なる引数によって動機づけられます。完全なファイル仕様を考えると、あなたはFileSystemObjectオブジェクトの.GetParentFolderNameと.GetFileNameメソッドを使用することができます。

Option Explicit 

Dim goFS : Set goFS = CreateObject("Scripting.FileSystemObject") 
Dim sFSpec : sFSpec = WScript.ScriptFullName 
WScript.Echo "Path", goFS.GetParentFolderName(sFSpec) 
WScript.Echo "Name", goFS.GetFileName(sFSpec) 

出力:

e:\work\proj\soa\42225862 
cscript 42254081.vbs 
Path e:\work\proj\soa\42225862 
Name 42254081.vbs 
+0

私はそれがあなたの回答に基づいて作業してしまったと思います。ありがとうございました! – Walhalla

関連する問題