我编写了以下 VB 脚本,以便在 Linux 机器上运行来自 WIN XP 的命令并将输出命令重定向到 out.txt 文件(在 C:\ 下)
我不明白为什么命令窗口的输出没有写入 out.txt 文件。
这条线出了什么问题
Sh.Run "cmd /k & CMD >> ""C:\out.txt""" , 1, True
我的完整 VB 脚本:
'TARGET_HOST - Linux machine
Const TARGET_HOST = "18.20.183.99"
const PATH = "cat /etc/hosts"
const LOGIN = "root"
const PASS = " dingdong "
Const PLINKPATH="""C:\SPUTNIK\plink.exe"""
Set Sh = CreateObject("WScript.Shell")
CMD = " echo y | " & PLINKPATH & " -ssh -pw " & PASS & LOGIN & "@" & " " & TARGET_HOST & " " & PATH
Sh.Run "cmd /k & CMD >> ""C:\out.txt""" , 1, True
Set Sh = Nothing
答案1
现在,您将CMD
创建的变量包含在字符串内部,而不是作为变量。
尝试以下方法:
Sh.Run "cmd /k" & CMD & " >> ""C:\out.txt""" , 1, True