В чем разница между cscript и wscript? Что лучше всего для автоматизации Telnet и FTP в Windows?Разница между wscript и cscript
ответ
В Windows исполняемый файл представляет собой консольное приложение или приложение Windows (или приложение SFU или Native, но это не имеет значения здесь).
Ядро проверяет флаг в исполняемом файле, чтобы определить, какой.
При запуске с использованием CreateProcess
функции WinAPI, если это консольное приложение, ядро будет создавать консольное окно для него, если родительский процесс не имеет один, и прикрепить STDIN
, STDOUT
и STDERR
потоки на консоль.
Если это приложение Windows, консоль не будет создана, а STDIN
, STDOUT
и STDERR
будут закрыты по умолчанию.
WSCRIPT.EXE
и CSCRIPT.EXE
почти точно идентичны, за исключением того, что один помечен как приложение для Windows, а другой помечен как консольное приложение (угадайте, какой путь!).
Итак, ответ: если вы хотите, чтобы ваш скрипт имел консольное окно, используйте CSCRIPT.EXE
. Если вы хотите, чтобы у НЕ было консольного окна, используйте WSCRIPT.EXE
.
Это также влияет на некоторые виды поведения, такие как команда WScript.Echo. В CSCRIPT.EXE
это записывает строку в окно консоли. В WSCRIPT.EXE
отображается сообщение.
Для вашего применения я предлагаю CSCRIPT.EXE
. Я думаю, вы также должны смотреть на PuTTY и бренчать, и вы должны увидеть это здесь:
@ McDonald's Я просто зарабатываю на жизнь. У меня нет реального выбора, кроме использования Stack Overflow, поскольку альтернативы нет, и я ненавижу то, как владельцы продолжают использовать сайт, чтобы сделать политические точки о том, что затрудняет переваривание их завтрака в этом месяце. Поэтому мое имя пользователя - мой протест против такой политизации * каждой проклятой вещи *. – Ben
возможно дубликат [VBS cscript.exe WScript.exe] (Http: // StackOverflow. com/questions/5788303/vbs-cscript-exe-wscript-exe) – McDowell