바로 가기 생성을 자동화하려하지만 인수에서 파일 이름을 가져 오는 방법을 모릅니다.VB 스크립트에서 인수를 조작하는 방법은 무엇입니까?
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
는 사용자가 지정한 폴더를 결합하여 다음 줄에 수를하고 자동으로 인수에서 파일 이름을 생성 :
에서 cscript shortcut.vbs "\ 폴더 \ targetfile.ext C"코드로 실행됩니다. 이런 일에 LNK 확장
sLinkFile = "c:\myfolder\myshortcut.lnk"
:
sLinkFile = "c:\myfolder\" + filenamefromargument(e.g targetfile) + ".lnk"
들으 사전에 :)
'sLinkFile = "C : \ MyFolder에 \"및 objArgs (0) ".LNK"'. 더하기를 사용하지 마십시오. 이전 기본과의 호환성을 위해서만 작동하며 두 문자열에 숫자가 들어 있으면 연결되지 않고 추가됩니다. –
권. 나는 그것을 실제로 사용하려고 의도하지 않았다 :) 그것은 단지 "예술적인"관점 일 것이다. –
진정한 프로그래밍 효율성을 위해서는 objArgs (0)보다는 strFile을 사용하라. 'strfile'은 변수이므로 CPU가 스택의 메모리 주소를 참조하기 쉽습니다. 'objArgs (0)'는 COM을 통한 함수 호출 인 objArgs.item (0)을 의미합니다. 따라서 새로운 스택이 생성되고 반환 주소, 매개 변수 및 지역 변수 ('item' 메서드에 대한)가 스택에 놓여지고 코드가 실행됩니다. 그런 다음 이전 스택 프레임을 현재 스택 프레임으로 남겨 둡니다. 이것은 훨씬 느립니다. 주체는 속성을 두 번 이상 사용하는 경우 변수를 사용합니다. –