0
即時通訊嘗試自動創建快捷方式,但不知道如何從參數中獲取文件名。代碼運行爲:如何在VB腳本中操作參數?
CSCRIPT shortcut.vbs「C:\文件夾\ targetfile.ext」
Set objFS=CreateObject("Scripting.FileSystemObject")
Set objArgs = WScript.Arguments
strFile= objArgs(0)
Set objFile = objFS.OpenTextFile(strFile)
Set objFile = objFS.GetFile(strFile)
WScript.Echo objFile.Path
Set oWS = WScript.CreateObject("WScript.Shell")
sLinkFile = "c:\myfolder\myshortcut.lnk"
Set oLink = oWS.CreateShortcut(sLinkFile)
oLink.TargetPath = objFile.Path
oLink.Save
是有可能在下面的行向用戶指定的文件夾結合並從與參數自動生成的文件名。 LNK擴展
sLinkFile = "c:\myfolder\myshortcut.lnk"
到這樣的事情:
sLinkFile = "c:\myfolder\" + filenamefromargument(e.g targetfile) + ".lnk"
THX提前:)
'sLinkFile = 「C:\ MyFolder文件\」 &objArgs(0)& 「的.lnk」'。不要使用加號,它只適用於與較老的基礎知識的兼容性,如果兩個字符串都包含數字,則它們將被添加爲不連接。 – 2016-07-25 02:02:21
哈哈。我並不打算真正使用它:)它只是一個「藝術」的觀點,它應該如何去掉 –
爲了真正的編程效率,使用'strFile'而不是objArgs(0)。 'strfile'是一個變量,因此CPU很容易通過棧中的內存地址進行引用。 'objArgs(0)'表示'objArgs.item(0)',它是通過COM調用的函數。因此,創建一個新的堆棧,將返回地址,參數和局部變量(到'item'方法)放入堆棧,然後運行代碼。然後全部撤消,將舊的堆棧框架保留爲當前的一個。這太慢了。如果使用屬性不止一次,則委託人將保留一個變量。 – 2016-07-25 02:30:49