我有一个简单的vb脚本(文件名:wiguid.vbs),它会生成一个新的Guid。
set obj = CreateObject("Scriptlet.TypeLib")
WScript.Echo obj.GUID
我需要从cmd批处理文件中调用此脚本,将新guid存储在命令参数中,并将该变量传递给其他vb脚本。 但是我无法将vbscript中生成的值存储到命令参数中。
类似的东西:
cscript wiguid.vbs
set NewGuid = '??Should get value from above script call'
cscript OtherVbScript.vbs "SET Value='%NewGuid%'"
我尝试了不同的搜索组合,却无法实现这一目标。
任何指针/建议都会有所帮助! 感谢。
答案 0 :(得分:3)
@echo off
setlocal enableextensions
for /f %%a in ('cscript //nologo wiguid.vbs') do set "newGUID=%%a"
echo new guid = %newGUID%
endlocal
不使用临时文件,for /f
是从命令执行输出中为变量赋值的常用方法。
它只运行指示的命令,对于输出中的每一行,执行do
子句中的代码。 %%a
命令的可替换参数(for
)将保留全部或部分行。有关完整参考,请参阅for /?