아니요, Windows와 함께 제공되는 통역사 (wscript.exe
및 cscript.exe
)는 지원하지 않습니다. 어디서나 파일을 만들 수 없다면 운이 없어집니다. VBScript 인터프리터가 실행할 수있는 인수로 인수를 변환하는 일종의 래퍼 스크립트가 필요합니다.
NA의 ï
는 접근 방식이 같은 ExecuteGlobal
문 VBScript를을 생성하는 것입니다했습니다 : 큰 따옴표가 인수에 보존되지 않기 때문에
그러나
With WScript.Arguments.Named
If .Exists("c") Then ExecuteGlobal .Item("c")
End With
, 제대로 작동하지 않을 것이다. 이 같은 위의 스크립트를 실행 한 경우 :
C:\>vbsrunner.vbs /c:"WScript.Echo "foo""
효과적으로 문 대신 WScript.Echo "foo"
의 WScript.Echo foo
을 실행하는 것, 그리고 나는 그들이 인수에 보관하고 있도록 중첩 된 따옴표를 탈출 할 수있는 방법을 찾을 수 없습니다.
어떻게 작동하는 임시 파일에 인수를 기록 배치 스크립트이며, 다음 실행하는 VBScript를 인터프리터 파일 :
@echo off
setlocal
set "tempfile=%TEMP%\%RANDOM%.vbs"
>"%tempfile%" echo.%~1
cscript.exe //NoLogo "%tempfile%"
del /q "%tempfile%"
이 같은 명령 줄에서 VBScript를 문을 실행할 수 있습니다 그 방법 :
C:\>vbsrunner.cmd "WScript.Echo "foo" : WScript.Echo "bar""
foo
bar
는 당신이 내 vbsh
을 사용할 수 파이썬의 대화 형 모드를 복제하고 싶어하지만 여전히 어딘가에 파일을 생성 할 수있는 기능을 필요로합니다.
감사합니다. 'mshta vbscript : InputBox ("message", "title", "input") (window.close)' – tinyfiledialogs
하지만 콘솔에서 결과를 출력하는 방법을 모르겠습니다. – tinyfiledialogs
@chafporte'mshta.exe'는 그것을 지원하지 않습니다. 콘솔 출력을 위해서는'cscript.exe'가 필요합니다. –