Разница между wscript и cscript - PullRequest
       20

Разница между wscript и cscript

76 голосов
/ 30 декабря 2011

В чем разница между cscript и wscript? Что лучше всего подходит для автоматизации Telnet и FTP в Windows?

1 Ответ

116 голосов
/ 30 января 2012

В Windows исполняемый файл - это либо консольное приложение, либо приложение Windows (или SFU или родное приложение, но это не имеет значения).

Ядро проверяет флаг в исполняемом файле, чтобы определить, какое.

При запуске с использованием 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 и PLink, и вы также должны увидеть это здесь:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...