Ich versuche, Verknüpfung Erstellung zu automatisieren, aber habe keine Ahnung, wie man Dateiname aus Argument. Code ausgeführt als:wie Argument in VB Script zu manipulieren?
cscript shortcut.vbs "c: \ Ordner \ 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
es möglich ist, in der folgenden Zeile Benutzer angegebene Ordner zu verbinden und automatisch generierten Dateinamen von Argumente mit. LNK Erweiterung
sLinkFile = "c:\myfolder\myshortcut.lnk"
etwas wie folgt aus:
sLinkFile = "c:\myfolder\" + filenamefromargument(e.g targetfile) + ".lnk"
thx im Voraus :)
'sLinkFile = "c: \ myfolder \" & objArgs (0) & ".lnk"'. Verwenden Sie nicht Plus, es funktioniert nur für die Kompatibilität mit älteren Grundlagen und wenn beide Zeichenfolgen Zahlen enthalten, werden sie hinzugefügt, nicht verkettet. –
lol. ich wollte es nicht wirklich verwenden :) es war nur eine "künstlerische" Ansicht, wie es gehen sollte –
Für echte Programmierung Effizienz verwenden 'strFile' statt ObjArgs (0). 'strfile' ist eine Variable, daher ist es einfach für die CPU, auf ihre Speicheradresse im Stapel zu verweisen. 'objArgs (0)' bedeutet 'objArgs.item (0)' was ein Funktionsaufruf über COM ist. Daher wird ein neuer Stapel erstellt, die Rücksprungadresse, Parameter und lokale Variablen (zu "item" -Methode) werden auf den Stapel gelegt, dann wird der Code ausgeführt. Dann wird alles wieder rückgängig gemacht, wobei der alte Stapelrahmen der aktuelle bleibt. Das ist viel langsamer. Der Principal wenn man eine Eigenschaft mehr als einmal benutzt, klebt eine Variable ein. –