【问题标题】:How do I return an integer value from VBScript to Batch file?如何将整数值从 VBScript 返回到批处理文件?
【发布时间】:2016-08-30 16:30:52
【问题描述】:

我尝试了下面的代码,但它不起作用:

for /f "usebackq tokens=*" %%a in (`CSCRIPT "C:/../myvbs.vbs"`) do set num=%%a

echo %num%

myvbs.vbs代码中,我传递的数字如下:

wscript.echo number

【问题讨论】:

  • 您错过了包含命令的撇号:for /f "usebackq tokens=*" %%a in ('CSCRIPT "C:/../myvbs.vbs"') do set num=%%a
  • 我错过了。谢谢你。我试着用撇号括起来。它没有用。 for /f "usebackq tokens=*" %%a in ('CSCRIPT "C:\..\myvbs.vbs"') 设置 num=%%a
  • 我明白了。我应该用“不是单引号”括起来
  • 如果提供了usebackq,请将命令行括在反引号中;没有usebackq,使用撇号...
  • 感谢您的澄清。

标签: batch-file vbscript cmd


【解决方案1】:

除了应该是反斜杠的正斜杠之外,您已经规定使用反引号而不使用它们。

for /f "usebackq tokens=*" %%a in (`CSCRIPT "C:\..\myvbs.vbs"`) do…

虽然从技术上讲它们不应该是必需的

for /f "tokens=*" %%a in ('CSCRIPT "C:\..\myvbs.vbs"') do…

【讨论】:

  • @newuser,如果您在我的正确解决方案/答案下方输入您的评论,以及任何声誉,它肯定会有所帮助。
  • 我在实际代码中使用了反斜杠。我在这里发错了。谢谢指正。
  • 请再次检查我的回复...我为您提供的解决方案是使用反引号,因为您选择不使用标准单引号,(尽管您的帖子中也缺少),与您的 usebackq 条目。我修复了反斜杠只是因为@Aacini 没有。
【解决方案2】:

试试这个:

myvbs.vbs

returnIntegerValue = 5
WScript.Quit returnIntegerValue

test.bat

cscript.exe myvbs.vbs
echo %ERRORLEVEL%

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-19
    • 2020-12-24
    相关资源
    最近更新 更多