gpt4 book ai didi

parameters - 将参数从 vbscript 传递到批处理文件

转载 作者:行者123 更新时间:2023-12-03 11:14:02 25 4
gpt4 key购买 nike

嗨,我在通过 vbscript 将参数传递到批处理文件时遇到问题。
我不太擅长编程,所以我确定我只是错过了一些愚蠢的东西。
无论如何,我正在使用 vbscript 无形地运行批处理文件

vbscript 被称为 "C:\Program Files (x86)\scripts\check.vbs" %S "%D"
其中 %S 是状态而 %D 是目录。

如果我直接将批处理文件称为 "C:\Program Files (x86)\scripts\checkdir.bat" %S "%D"一切正常,除了弹出一个令人讨厌的dos窗口。

于是上网查了一下,发现了这个可以静默运行批处理文件的vbscript。它实际上以静默方式运行它,但它不会将参数传递给批处理文件。

这是vbscript:

Set WshShell = CreateObject("WScript.Shell") 
WshShell.Run chr(34) & "C:\Program Files (x86)\scripts\checkdir.bat" & Chr(34), 0
Set WshShell = Nothing

我将如何传递参数?我已经搜索过,但我找不到任何对我有用的东西,我要么在运行时出错,要么参数无法通过。

最佳答案

假设您以这种方式调用 VBScript...

wscript myscript.vbs ArgumentS ArgumentD

然后为此换出第 2 行应该可以工作...
WshShell.Run """C:\Program Files (x86)\scripts\checkdir.bat"" " & WScript.Arguments.Item(0) & " """ & WScript.Arguments.Item(1) & """", 0

请注意,我假设您需要用双引号将参数 D 传递给它,因此我将它们包括在内。在字符串中 VBScript 将用单双引号替换双双引号。如果它不起作用,请将 WshShell.Run 更改为 wscript.echo,您应该确切地看到 VBScript 试图传递的内容。如果不太正确,请调整它并使用 WshShell.Run 重试。

祝你好运。

关于parameters - 将参数从 vbscript 传递到批处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16722567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com