2011-12-30 22 views
66

Qual è la differenza tra cscript e wscript? Qual è il modo migliore per fare automazione Telnet e FTP in Windows?Differenza tra wscript e cscript

+2

possibile duplicato del [VBS cscript.exe wscript.exe] (http: // StackOverflow. it/questions/5788303/vbs-cscript-exe-wscript-exe) – McDowell

risposta

105

In Windows, un eseguibile è un'applicazione di console o un'applicazione di Windows (o un'applicazione SFU o nativa, ma non importa qui).

Il kernel controlla un flag nell'eseguibile per determinare quale.

Quando si avvia utilizzando la funzione CreateProcess WinAPI, se si tratta di un'applicazione console, il kernel creerà una finestra di console per esso, se il processo padre non ne ha uno, e collegare i flussi STDIN, STDOUT e STDERR alla console.

Se si tratta di un'applicazione Windows, non verrà creata alcuna console e STDIN, STDOUT e STDERR verranno chiusi per impostazione predefinita.

WSCRIPT.EXE e CSCRIPT.EXE sono quasi identici, tranne che uno è contrassegnato come un'applicazione Windows e l'altro è contrassegnato come un'applicazione console (Indovina in quale direzione!).

Quindi la risposta è: Se si desidera che lo script abbia una finestra della console, utilizzare CSCRIPT.EXE. Se si desidera che NON abbia una finestra della console, utilizzare WSCRIPT.EXE.

Ciò influisce anche su alcuni comportamenti, come il comando WScript.Echo. In un CSCRIPT.EXE questo scrive una riga nella finestra della console. In WSCRIPT.EXE mostra una finestra di messaggio.

Per la vostra applicazione suggerisco CSCRIPT.EXE. Penso che si dovrebbe anche guardare PuTTY e Plink, e si dovrebbe anche vedere questo qui:

+3

@ McDonald's Sto solo cercando di guadagnarmi da vivere. Non ho altra scelta che usare Stack Overflow perché non c'è alternativa, e detesto il modo in cui i proprietari continuano a utilizzare il sito per fare punti politici su ciò che sta rendendo difficile digerire la loro colazione quel mese. Quindi il mio nome utente è la mia protesta contro quel tipo di politicizzazione di * ogni dannata cosa *. – Ben