gpt4 book ai didi

vbscript - 尝试使用 vbscript 运行带有参数的批处理文件

转载 作者:行者123 更新时间:2023-12-04 04:35:15 29 4
gpt4 key购买 nike

我目前正在使用 vbscript 执行批处理文件,以简单地隐藏每次运行批处理时弹出的 cmd 窗口。

我现在想要完成的是将参数传递给该批处理文件。 vbs 正在运行 wscript "c:\batchlauncher.vbs" "c:\batch.bat" .我正在做类似的事情; wscript "c:\batchlauncher.vbs" "c:\batch.bat" ["batch.argument"]以任何可以完成我需要的顺序或语法。

这就是我所拥有的:

batchlauncher.vbs

'--------------------8<----------------------
sTitle = "Batch launcher"

Set oArgs = WScript.Arguments
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oShell = CreateObject("WScript.Shell")

If oArgs.Count <> 1 Then
' Will die after 10 seconds if no one is pressing the OK button
oShell.Popup "Error: You need to supply a file path " _
& "as input parameter!", 10, sTitle, vbCritical + vbSystemModal

Wscript.Quit 1
End If

sFilePath = oArgs(0)

If Not oFSO.FileExists(sFilePath) Then
' Will die after 10 seconds if no one is pressing the OK button
oShell.Popup "Error: Batch file not found", _
10, sTitle, vbCritical + vbSystemModal

Wscript.Quit 1
End If

' add quotes around the path in case of spaces
iRC = oShell.Run("""" & sFilePath & """", 0, True)

' Return with the same errorlevel as the batch file had
Wscript.Quit iRC

'--------------------8<----------------------

最佳答案

您在哪里将参数传递给批处理文件?您需要从 vbs 内部执行此操作。 .vbs 获得的任何“额外”参数都将在 oArgs 数组中。当您将两个参数放入 .vbs 文件时,您需要将第二组参数传递给 oShell.Run命令行。

所以我会改变这条线If oArgs.Count <> 1 Then对此If oArgs.Count <> 2 Then
然后说sFilePath = oArgs(0)sArg = oArgs(1)
然后iRC = oShell.Run("""" & sFilePath & """" & sArg, 0, True)

关于vbscript - 尝试使用 vbscript 运行带有参数的批处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19840677/

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