Agora você está incluindo a variável CMD
que você criou dentro da string, em vez de uma variável.
Tente algo como:
Sh.Run "cmd /k" & CMD & " >> ""C:\out.txt""" , 1, True
Eu escrevi o seguinte script VB para executar comandos do WIN XP em uma máquina Linux e redirecionar o comando de saída para o arquivo out.txt (em C: \)
Não entendo porque a saída da janela de comando não está gravada no arquivo out.txt.
O que há de errado com a linha
Sh.Run "cmd /k & CMD >> ""C:\out.txt""" , 1, True
Meu script VB completo:
'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
Tags windows-xp linux vbscript vba