Pergunta

Eu preciso para automatizar o comando 'net use' no cygwin.

O comando é 'net use / user: "nome" \ algum lugar'. E 'Digite a senha para 'nome' para se conectar ao 'prosseek':'. Espera-se que insira a senha

Ele funciona bem com a entrada de linha de comando, e quando executar o arquivo batch dentro. Ele não funciona quando faço uma esperam roteiro a seguir.

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

Eu recebo mensagem de erro como segue.

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: O que pode estar errado
  • Q:? Pode algum comando algo MS como 'net use' trabalhar com cygwin / esperar
Foi útil?

Solução

Você provavelmente não pode usar o Cygwin esperar com programas não-cygwin; Cygwin emula posix ptys, enquanto os programas do Windows usar o próprio código de manipulação de terminal do Windows', que não sabe nada sobre os oleodutos que esperam que está tentando ler e escrever.

Você também não conseguiu escapar suas barras invertidas em esperar; Observe que a mensagem de erro dá uma seqüência diferente do que você passou.

Outras dicas

Aqui pode haver algumas sugestões:

Você pode explorar a \ prosseek \ algum lugar? Se então eu imagino que você pode precisar para escapar as barras invertidas \\ proseek \ algum lugar.

A peça nome da rede também pode indicar que ele não pode resolver o nome do host.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top