返回
VBScript执行Main.vbs后如何解决不执行B.vbs的问题?
windows
2024-03-17 21:42:37
VBScript 执行 Main.vbs 中调用 B.vbs 后不执行 B.vbs 文件
问题概述
当你尝试使用 VBScript 在 Main.vbs 文件中调用 B.vbs 文件时,可能会遇到 B.vbs 文件不执行的问题。这可能很令人沮丧,因为你无法访问或使用 B.vbs 文件中的内容。
问题解决方法
这个问题的原因通常是重定向运算符 (>>
) 的使用不当。要将 B.vbs 文件的输出重定向到文件中,你需要在 sEXE
字符串中正确指定重定向运算符。
以下是修改后的代码,它应该可以正常工作:
sEXE = """\\uncpath\file.exe" >> "\\\\uncpath\%computername%.txt""""
with CreateObject("WScript.Shell")
.Run sEXE, 1, true ' 等待完成或 False 不等待
end with
注意:
- 确保将
\\
转义为\\\\
以防止 VBScript 将其解释为转义序列。 - 确保文件
\\\\uncpath\%computername%.txt
存在且具有写入权限。
结论
通过正确使用重定向运算符,你可以成功地将 B.vbs 文件的输出重定向到文件中。现在,你可以访问和使用该文件中存储的内容,从而解决你的问题。
常见问题解答
1. 为什么我无法使用以下代码将输出重定向到文件中?
sEXE = """\\uncpath\file.exe>>\\uncpath\%computername%.txt"""
答: 你需要使用双引号将重定向运算符括起来,如下所示:
sEXE = """\\uncpath\file.exe" >> "\\\\uncpath\%computername%.txt""""
2. 我收到错误信息“with CreateObject("WScript.Shell")”。这是什么意思?
答: 该错误通常表示 sEXE
字符串中的语法存在错误。请检查重定向运算符是否正确使用。
3. 为什么我无法在文件中看到任何输出?
答: 确保文件 \\\\uncpath\%computername%.txt
存在且具有写入权限。此外,验证 file.exe
正在生成输出。
4. 如何使用 VBScript 将输出重定向到多个文件?
答: 你可以使用 &
符号连接多个重定向运算符。例如:
sEXE = """\\uncpath\file.exe" >> "\\\\uncpath\%computername%.txt" & " >> \\\\uncpath\log.txt""""
5. 除了重定向到文件之外,VBScript 还支持哪些其他重定向选项?
答: VBScript 还支持将输出重定向到控制台或管道。你可以使用 /C
和 /R
开关来指定这些重定向。