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