【问题标题】:How to share values between batch file and embedded script如何在批处理文件和嵌入脚本之间共享值
【发布时间】:2019-07-23 15:11:17
【问题描述】:

我试图在我的批处理文件和其中的嵌入脚本之间共享值,但我找不到让它工作的方法。我对嵌入式脚本比较陌生...

我试图在网上找到答案,但我找不到我的问题的答案。它需要(所有脚本)在同一个 .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 编译错误:预期语句结束

【问题讨论】:

  • 你到底想在什么方向运输什么?从批处理到 wsf 一个简单的方法是命令行参数...
  • @aschipfl 我需要获取用户输入的值(变量称为 username 并且我想获取一个用 VBScript 编码的 wsf 脚本来检索该值以插入它在 MsgBox 中。
  • 很明显,您的vbs代码有语法问题,先修复它们以解决您的问题。你应该看看Dim var AS STRING = VALUE的语法

标签: batch-file embed


【解决方案1】:

如果您打算在 VBScript 中使用 shell 方法,那么请使用 Windows Scripting Host (WSH) 自动化对象。请找到代码:

Set wshShell = CreateObject( "WScript.Shell" )
userName = wshShell.ExpandEnvironmentStrings("%Shared_UserName%")
WScript.Echo "Your username is: " & userName

请参阅参考:devguru.comss64.com

【讨论】:

  • 非常感谢您!它完美无缺!再次感谢你! :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-02
  • 2013-07-30
  • 1970-01-01
  • 1970-01-01
  • 2021-11-03
  • 2012-08-13
相关资源
最近更新 更多