Как манипулировать аргумент в VB Script?
Я пытаюсь автоматизировать создание ярлыка, но не знаю, как получить имя файла из аргумента. код запускается как:
cscript shortcut.vbs "c: \ folder \ 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"
спасибо заранее:)
1 ответ
Первое предложение @Noodles будет работать - а его второе предложение просто означает, что вы должны назначить strFile = objArgs(0)
прежде чем использовать его.
Вы просто путаете всех своими "псевдо-примерами"
Вы сначала указываете "c:\folder\targetfile.ext"
в качестве аргумента
затем sLinkFile = "c:\myfolder\myshortcut.lnk"
где я думаю ты имел ввиду sLinkFile = "c:\myfolder\myshortcut.ext"
Второе, что вам нужно, это посмотреть на методы FileSystemObject, чтобы извлечь папку и базовое имя, а затем добавить ваше расширение.
Что-то вроде:
После strFile= objArgs(0)
Вставьте этот код:
With objFS
strLinkFile = .GetParentFolderName(strFile) & .GetBaseName(strFile) & ".lnk"
End With