如何将输出从CMD窗口重定向到文件

时间:2013-09-01 13:16:23

标签: windows vbscript io-redirection

我编写了以下VBScript,以便在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 个答案:

答案 0 :(得分:4)

VBScript不会扩展字符串中的变量。改变这个:

Sh.Run "cmd /k  & CMD >> ""C:\out.txt""" , 1, True

进入这个:

Sh.Run "cmd /k " & CMD & " >> ""C:\out.txt""" , 1, True

最重要的是,你的命令格式不正确。您需要在密码和用户名之间放置一个空格,并删除@和主机名之间的空格:

CMD = " echo y | " & PLINKPATH & " -ssh -pw " & PASS & " " _
  & LOGIN & "@" & TARGET_HOST & " " & PATH