2017-02-15 89 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

分裂显然是由.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

相关问题