我正在使用Windows上的plink连接到网络设备并将输出捕获到文件中。这部分工作得很好。
以下是我在批处理程序中输入的命令行示例。
以下是我在批处理程序中输入的命令行示例。
plink.exe -v -l [username] -pw [password] [ip address] -m "c:\empty.txt" < "c:\commands.txt" > "c:\command_output.txt"
command_output.txt仅包含ssh会话的输出。
我想添加一些错误处理,以防无法连接。例如,我无法弄清楚如何将连接消息发送到文件中。它们只会在命令窗口中显示。我尝试从另一个批处理程序使用start /c cmd.exe并将输出重定向到另一个日志文件。我尝试使用2>&1。但是我得不到任何东西。它总是只显示在命令窗口中。
以下是我想要捕获的示例。
Looking up host "xxx.xxx.xxx.xxx"
Connecting to xxx.xxx.xxx.xxx port 22
Failed to connect to xxx.xxx.xxx.xxx: Network error: Connection timed out
Network error: Connection timed out
FATAL ERROR: Network error: Connection timed out
> "c:\command_output.txt" 2>&1
,但这样做是行不通的:2>&1 > "c:\command_output.txt"
(因为它首先将错误输出重定向到默认标准输出,而此时控制台仍然是默认标准输出)。 - Martin Prikryl