cscript和wscript有什么区别?哪个最适合在Windows中进行Telnet和FTP自动化?
答案 0 :(得分:115)
在Windows中,可执行文件是控制台应用程序或Windows应用程序(或SFU或Native应用程序,但这并不重要)。
内核检查可执行文件中的标志以确定哪个。
当开始使用CreateProcess
WinAPI函数时,如果它是一个控制台应用程序,如果父进程没有,那么内核将为它创建一个控制台窗口,并附加STDIN
,{ {1}}和STDOUT
流到控制台。
如果是Windows应用程序,则不会创建任何控制台,默认情况下会关闭STDERR
,STDIN
和STDOUT
。
STDERR
和WSCRIPT.EXE
几乎完全相同,除了一个被标记为Windows应用程序而另一个被标记为控制台应用程序(猜猜哪个方向!)。
答案是:如果您希望脚本具有控制台窗口,请使用CSCRIPT.EXE
。如果您希望它没有控制台窗口,请使用CSCRIPT.EXE
。
这也会影响某些行为,例如WScript.Echo命令。在WSCRIPT.EXE
中,这会在控制台窗口中写入一行。在CSCRIPT.EXE
中,它会显示一个消息框。
对于您的申请,我建议WSCRIPT.EXE
。我想你也应该看看PuTTY和PLink,你也应该在这里看到: