В чем разница между cscript и wscript? Что лучше всего для автоматизации Telnet и FTP в Windows?
Разница между wscript и cscript
Ответ 1
В Windows исполняемый файл представляет собой консольное приложение или приложение Windows (или приложение SFU или Native, но это не имеет значения здесь).
Ядро проверяет флаг в исполняемом файле, чтобы определить, какой из них.
При запуске с использованием CreateProcess
функции WinAPI, если это консольное приложение, ядро создаст для него консольное окно, если родительский процесс не имеет его, и прикрепите STDIN
, STDOUT
и STDERR
на консоль.
Если это приложение Windows, консоль не будет создана и STDIN
, STDOUT
и STDERR
будут закрыты по умолчанию.
WSCRIPT.EXE
и CSCRIPT.EXE
почти точно идентичны, за исключением того, что один помечен как приложение для Windows, а другой помечен как консольное приложение (угадайте, какой путь!).
Итак, ответ: если вы хотите, чтобы ваш script имел консольное окно, используйте CSCRIPT.EXE
. Если вы хотите, чтобы у НЕ было консольного окна, используйте WSCRIPT.EXE
.
Это также влияет на некоторые виды поведения, такие как команда WScript.Echo. В CSCRIPT.EXE
это записывает строку в окно консоли. В WSCRIPT.EXE
отображается сообщение.
Для вашего приложения я предлагаю CSCRIPT.EXE
. Я думаю, вы также должны посмотреть на PuTTY и PLink, и вы также должны увидеть это здесь: