gpt4 book ai didi

vbscript - 我可以将参数传递给 VBScript(使用 cscript 启动的 vbs 文件)吗?

转载 作者:行者123 更新时间:2023-12-03 05:15:16 28 4
gpt4 key购买 nike

我将此脚本保存在“test.vbs”中:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.OpenTextFile(workFolder &"\test.txt", 2, True)
File.Write "testing"
File.Close
Set File = Nothing
Set FSO = Nothing
Set workFolder = Nothing

当我运行脚本时,我想传递“workFolder”变量的值。

我该怎么做?我可以做吗?也许类似于“cscript test.vbs workFolder:'C:\temp\'”?

额外问题:是否有必要使用“Set workFolder = Nothing”清理传递的变量,还是 VBSCript 在终止时自动执行此操作?也许“Set File = Nothing”和“Set FSO = Nothing”也是不必要的?如果您知道这两个问题的答案,请告诉我。

最佳答案

您可以使用WScript.Arguments来访问传递给脚本的参数。

调用脚本:

cscript.exe test.vbs "C:\temp\"

在你的脚本中:

Set File = FSO.OpenTextFile(WScript.Arguments(0) &"\test.txt", 2, True)

不要忘记检查是否确实有参数传递给您的脚本。您可以通过检查 Count 属性来执行此操作:

if WScript.Arguments.Count = 0 then
WScript.Echo "Missing parameters"
end if

如果您的脚本在关闭文件后结束,则无需将变量设置为Nothing。当cscript.exe进程终止时,资源将被自动清理。通常仅当您明确希望在脚本执行期间释放资源时才需要将变量设置为 Nothing。在这种情况下,您可以将包含对 COM 对象的引用的变量设置为 Nothing,这将在脚本终止之前释放 COM 对象。这只是对您的奖励问题的简短回答,您可以在这些相关问题中找到更多信息:

Is there a need to set Objects to Nothing inside VBA Functions

When must I set a variable to “Nothing” in VB6?

关于vbscript - 我可以将参数传递给 VBScript(使用 cscript 启动的 vbs 文件)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2806713/

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