Question

J'ai besoin d'automatiser la commande 'net use' sur Cygwin.

La commande est 'utilisation / net user: "nom" \ quelque part. Et « Entrez le mot de passe « nom » pour se connecter à « prosseek »: ». Devrait entrer le mot de passe

Il fonctionne bien avec l'entrée de ligne de commande, et lorsqu'il est exécuté dans un fichier batch. Il ne fonctionne pas quand je fais comme suit script expect.

spawn net use /user:"name" \\prosseek\somewhere
expect "Enter the password for 'name' to connect to 'prosseek':"
send "password\n"
interact

Je reçois un message d'erreur comme suit.

spawn net use /user:"name" \prosseek\somewhere
System error 67 has occurred.

The network name cannot be found.

send: invalid spawn id (4) while executing "send "password\n"" (file "conpros" line 9)

  • Q: Qu'est-ce qui pourrait être erroné
  • Q: Quelqu'un peut commande MS quelque chose comme 'net use' de travailler avec Cygwin / expect
Était-ce utile?

La solution

Vous ne pouvez probablement pas expect utiliser Cygwin avec des programmes non Cygwin; Cygwin émule ptys posix, tandis que les programmes Windows utilisent le code propre de traitement de terminal Windows, qui ne sait rien sur les pipelines qui s'attendent tente de lire et d'écrire.

Vous avez également échoué pour échapper à vos antislash attendre; notez que le message d'erreur donne une chaîne différente de celle que vous avez passé dans.

Autres conseils

Voici peut-être quelques suggestions:

Pouvez-vous explorer à \ prosseek \ quelque part? Si oui, je suppose que vous devrez peut-être les backslashs de proseek de \ quelque part.

La pièce de nom de réseau peut également indiquer qu'il ne peut pas résoudre le nom d'hôte.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top