Qual è la differenza tra cscript e wscript? Qual è il modo migliore per fare automazione Telnet e FTP in Windows?Differenza tra wscript e cscript
risposta
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:
@ 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
possibile duplicato del [VBS cscript.exe wscript.exe] (http: // StackOverflow. it/questions/5788303/vbs-cscript-exe-wscript-exe) – McDowell