如何在批处理文件和嵌入式脚本之间共享值
How to share values between batch file and embedded script
我正在尝试在我的批处理文件和其中的嵌入式脚本之间共享值,但我找不到使其工作的方法。我对嵌入式脚本比较陌生...
我试图在网上找到答案,但找不到我的问题的答案。它需要(所有脚本)在同一个 .bat 文件中...
<!-- : Begin batch script
@echo off
cls
set "Shared_UserName=VelocityDK"
goto ShareValue
:ShareValue
cls
cscript //nologo "%~f0?.wsf" //job:UserName
pause >nul
cls & exit /force
----- Begin wsf script --->
<package>
<job id="UserName">
<script language="VBScript">
Dim Shared_UserName As String = %Shared_UserName%
WScript.Echo "Your username is: " & Shared_UserName
</script>
</job>
</package>
我希望嵌入式 VBScript 写入以下输出:Your username is VelocityDK.
但是,我收到一条消息:
Microsoft VBScript compilation error: Expected end of statement
如果您打算在 VBScript 中使用 shell 方法,那么请使用 Windows 脚本宿主 (WSH) 自动化对象。请找代码:
Set wshShell = CreateObject( "WScript.Shell" )
userName = wshShell.ExpandEnvironmentStrings("%Shared_UserName%")
WScript.Echo "Your username is: " & userName
参见参考资料:devguru.com or ss64.com
我正在尝试在我的批处理文件和其中的嵌入式脚本之间共享值,但我找不到使其工作的方法。我对嵌入式脚本比较陌生...
我试图在网上找到答案,但找不到我的问题的答案。它需要(所有脚本)在同一个 .bat 文件中...
<!-- : Begin batch script
@echo off
cls
set "Shared_UserName=VelocityDK"
goto ShareValue
:ShareValue
cls
cscript //nologo "%~f0?.wsf" //job:UserName
pause >nul
cls & exit /force
----- Begin wsf script --->
<package>
<job id="UserName">
<script language="VBScript">
Dim Shared_UserName As String = %Shared_UserName%
WScript.Echo "Your username is: " & Shared_UserName
</script>
</job>
</package>
我希望嵌入式 VBScript 写入以下输出:Your username is VelocityDK.
但是,我收到一条消息:
Microsoft VBScript compilation error: Expected end of statement
如果您打算在 VBScript 中使用 shell 方法,那么请使用 Windows 脚本宿主 (WSH) 自动化对象。请找代码:
Set wshShell = CreateObject( "WScript.Shell" )
userName = wshShell.ExpandEnvironmentStrings("%Shared_UserName%")
WScript.Echo "Your username is: " & userName
参见参考资料:devguru.com or ss64.com