Quelle est la difference entre cscript et wscript? Quelle est la meilleure solution pour automatiser Telnet et FTP sous Windows?
Sous Windows, un exécutable est une application console ou une application Windows (ou une application SFU ou native, mais cela n’a aucune importance ici).
Le noyau vérifie un indicateur dans l'exécutable pour déterminer lequel.
Lorsqu’il commence à utiliser la fonction CreateProcess
WinAPI, s’il s’agit d’une application console, le noyau crée une fenêtre de console pour celle-ci si le processus parent n’en possède pas, et attache le fichier STDIN
, STDOUT
et STDERR
sont transmis à la console.
S'il s'agit d'une application Windows, aucune console ne sera créée et STDIN
, STDOUT
et STDERR
seront fermés par défaut.
WSCRIPT.EXE
et CSCRIPT.EXE
sont presque exactement identiques, sauf que l’une est marquée en tant qu’application Windows et l’autre en tant qu’application console (Devinez de quel côté!).
La réponse est donc la suivante: si vous voulez que votre script ait une fenêtre de console, utilisez CSCRIPT.EXE
. Si vous ne voulez PAS qu’il ait une fenêtre de console, utilisez WSCRIPT.EXE
.
Cela affecte également certains comportements, tels que la commande WScript.Echo. Dans un CSCRIPT.EXE
ceci écrit une ligne dans la fenêtre de la console. Dans WSCRIPT.EXE
il montre une boîte de message.
Je suggère pour votre application CSCRIPT.EXE
. Je pense que vous devriez aussi regarder PuTTY et PLink, et vous devriez aussi voir ceci ici: