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


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

1 72

1 ответ:

в 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 он показывает messagebox.

для вашего приложения я предлагаю CSCRIPT.EXE. Я думаю, что вы также должны посмотреть на PuTTY и PLink, и вы также должны увидеть это здесь: