所以我有一个基本脚本,只打印出传入的参数:
projectName = ""
if Wscript.Arguments.Count > 0 then
projectName = Wscript.Arguments(0)
else
WScript.StdOut.WriteLine "No project specified"
end if
WScript.StdOut.WriteLine "Running script on project: " & projectName
当我从命令行运行脚本时:
cit.vbs test
我收到消息“未指定项目文件”
如果我这样运行:
cscript vit.vbs test
我得到输出:“在项目测试中运行脚本”
为什么??为什么我不能在没有指定cscript的情况下传入参数?
注意我已经使用cscript而不是wscript配置我的Windows运行vbs文件,因为我发现wscript有奇怪的问题,我不想要GUI元素 - 但这是一个不同的问题
答案 0 :(得分:2)
在没有命名解释器/主机的情况下调用脚本时会发生什么情况,具体取决于assoc / ftype文件关联设置。
所以使用
assoc .vbs
.vbs=VBSFile
和
ftype VBSFile
VBSFile=%SystemRoot%\System32\CScript.exe "%1" %*
确保命令行模式包含转发参数的%*
。
更新评论:
assoc / ftype是命令行工具。一个简单的assoc /?
resp。 ftype /?
会向您显示详细信息(包括处理参数的示例)。但请使用您熟悉的方法。