在WinSCP中调用外部批处理以捕获控制台输出

时间:2013-12-11 08:21:50

标签: scripting console winscp

我为一些文件传输编写了一个WinSCP代码......这样工作正常。

我的要求是:在退出WinSCP控制台之前,我想执行另一个批处理以获取该WinSCP控制台的屏幕截图,然后我想对WinSCP控制台说bye。但只要第二个操作没有完成,我就不想退出WinSCP控制台了。

我试过了:

winscp> Call %some_path%\test.bat

但是它说了一些错误:

enter image description here

1 个答案:

答案 0 :(得分:0)

call命令在服务器上执行命令。

您无法从WinSCP脚本执行本地命令。

但是您可以从批处理文件中执行WinSCP,并在WinSCP完成后从批处理中截取屏幕截图。确保执行winscp.com (not the winscp.exe)winscp.com是一个控制台应用程序。它继承了父批处理的控制台,因此在完成后不会丢失WinSCP输出。

winscp.com /script.txt
%some_path%\test.bat

无论如何,我真的不明白这个的目的。如果将winscp.com的输出重定向到日志文件,会不会更好?

winscp.com /script=script.txt > output.txt

或者甚至更好,使用日志文件(/log=<path> command line parameter)。该日志包括WinSCP控制台的整个输出,以及更多。