2010-03-06 6 views
1

Est-il possible de créer un cmd interactif sous Windows?Interactif cmd.exe dans Windows

Je suis à la recherche d'une solution de script pour se connecter à un serveur à distance qui invite à entrer le mot de passe.

Prenez SSH comme exemple. Un utilisateur normal effectuer les opérations suivantes lors d'une fenêtre de ligne de commande:

C:>ssh2 [email protected] "echo Hello" 
user's password: ******** 
Hello 

La deuxième ligne, qui invite entrant le mot de passe doit être entré manuellement par un utilisateur. redirection stdin ne fonctionne pas, par exemple,

ssh2 [email protected] "echo Hello" < password.txt # not working 

Par conséquent, je suis à la recherche d'un script qui peut usurper l'identité d'un utilisateur. Sous Linux, nous pouvons utiliser attendre, par exemple:

#!/usr/bin/expect 

spawn ssh [email protected] "ls" 
expect *assword: 
send "password\r" 

Je cherche des étoffes similaires dans un environnement Windows.

Mise à jour: Si PowerShell peut faire la même chose, quelqu'un peut-il coller un exemple de script? Merci.

+3

Vous recherchez PowerShell, pas cmd.exe! –

+0

@John Saunders ... je crois en vous ..so quel est le code dont il a besoin? – jjj

+0

@SiLentSoNG: Je n'avais rien de spécifique à l'esprit. Seulement que PowerShell est tellement plus flexible que cmd.exe, et est conçu pour être hébergé dans un autre programme, que cmd.exe ne devrait même pas être considéré. –

Répondre

1

Ce problème est résolu.

Utilisez une PowerShell qui crée un objet Process et joue avec cet objet.