VBScript代码,实现将字符串变量 Addr1传递给 senddat.vbs

VBScript代码,实现将字符串变量 Addr1传递给 senddat.vbs

编码文章call10242025-09-14 15:26:455A+A-

,您可以通过命令行参数的方式传递。以下是具体优化方案:


主脚本修改如下:

Set WshShell = CreateObject("WScript.Shell")

Dim Addr1

Addr1 = "192.168.1.100" ' 替换为实际值(带空格的文本也安全)


' 关键优化:通过命令行参数传递变量,用双引号包裹确保空格安全

WshShell.Run "senddat.vbs " & Chr(34) & Addr1 & Chr(34), 0, False

在 `senddat.vbs` 中接收参数:

```vbs

If WScript.Arguments.Count > 0 Then

' 读取第一个命令行参数

Addr1 = WScript.Arguments(0)

Else

Addr1 = ""

MsgBox "错误:未接收到参数!", vbCritical

End If

' 示例:打印接收到的值(实际使用时替换为您的逻辑)

MsgBox "接收到的地址:" & Addr1, vbInformation

Set WshShell = CreateObject("WScript.Shell")

WshShell.Run "cmd /c echo 发送数据到 " & Addr1, 0

关键说明:

1. 安全传递参数

`Chr(34)` 表示双引号 `"`,确保带空格的字符串也能正确传递(如 `"192.168.1.100"`)。


2. 参数接收原理

在 `senddat.vbs` 中通过 `WScript.Arguments(0)` 获取第一个参数,索引从0开始。

3. 错误处理

检查参数数量(`WScript.Arguments.Count`),避免未收到参数时脚本崩溃。

优化效果:

- 兼容性:适用于任何字符串(含特殊字符和空格)

- 低耦合:无需共享文件或环境变量

- 可靠性:标准命令行参数传递机制

- 灵活性:轻松扩展多个参数(空格分隔)

> 实际应用示例:

> 若需传递更多变量(如端口号),扩展代码如下:

> ' 主脚本传参

> WshShell.Run "senddat.vbs " & Chr(34) & Addr1 & Chr(34) & " 8080", 0, False

>

> ' senddat.vbs 接收

> Port = WScript.Arguments(1) ' 第二个参数

此方案遵循VBScript最佳实践,确保数据传递安全可靠且易于维护。

点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4