Discussion:
how to judge the command result of batch by Net::telnet
Liu Nuaadupu
2010-01-13 06:05:14 UTC
Permalink
telnet = Net::Telnet::new("Host" => "192.168.0.16",
"Timeout" => 10,
"Prompt" => /[$%#>] \z/n)
telnet.login("username", "password") { |c| print c }
result = telnet.cmd("c:\test.bat")
telnet.close

how to judge the result of the batch?
If from the result variable you must know the true result.
If from the command [telnet.cmd("echo %ERRORLEVEL")],to make sure that
there is not any exit command in the windows batch script.
have any other good idears?
--
Posted via http://www.ruby-forum.com/.
Brian Candler
2010-01-13 13:19:42 UTC
Permalink
Post by Liu Nuaadupu
If from the command [telnet.cmd("echo %ERRORLEVEL")],to make sure that
there is not any exit command in the windows batch script.
Yes, that's basically what you'll need to get it back from telnet.

However, if the server has sshd running then it's possible to execute a
command remotely and get the command status back properly.

Ruby's Net::SSH provides a rather awkward API unfortunately, but you
could copy the example of "vlad" and just shell out to local ssh command
(or pssh.exe if it's a Windows client)
--
Posted via http://www.ruby-forum.com/.
tony Tiankoon
2010-01-17 01:37:15 UTC
Permalink
Post by Brian Candler
Post by Liu Nuaadupu
If from the command [telnet.cmd("echo %ERRORLEVEL")],to make sure that
there is not any exit command in the windows batch script.
Yes, that's basically what you'll need to get it back from telnet.
However, if the server has sshd running then it's possible to execute a
command remotely and get the command status back properly.
Ruby's Net::SSH provides a rather awkward API unfortunately, but you
could copy the example of "vlad" and just shell out to local ssh command
(or pssh.exe if it's a Windows client)
thank you very much Brain! before that I have known that ssh could get
the return status and result of the batch.I just want to know is there
any good idear of getting the result of batch with exit command. It
seems that if you want to get the return status and result of batch,you
cannot use telnet to excute the batch with exit command(with out \B
option) in remote windows server.
--
Posted via http://www.ruby-forum.com/.
tony Tiankoon
2010-01-17 01:41:56 UTC
Permalink
Post by tony Tiankoon
Post by Brian Candler
Post by Liu Nuaadupu
If from the command [telnet.cmd("echo %ERRORLEVEL")],to make sure that
there is not any exit command in the windows batch script.
Yes, that's basically what you'll need to get it back from telnet.
However, if the server has sshd running then it's possible to execute a
command remotely and get the command status back properly.
Ruby's Net::SSH provides a rather awkward API unfortunately, but you
could copy the example of "vlad" and just shell out to local ssh command
(or pssh.exe if it's a Windows client)
thank you very much Brain! before that I have known that ssh could get
the return status and result of the batch.What I just want to know is that is > there any good idear of getting the result of batch with exit command. It
seems that if you want to get the return status and result of batch,you
cannot use telnet to excute the batch with exit command(with out \B
option) in remote windows server.
see the help information in windows
Post by tony Tiankoon
help exit
you will get the details.
--
Posted via http://www.ruby-forum.com/.
Loading...