J'exécute un fichier de commandes qui a ces deux lignes:
start C:\Users\Yiwei\Downloads\PuTTY.exe -load "MathCS-labMachine1"
"C:\Program Files (x86)\Xming\Xming.exe" :0 -clipboard -multiwindow
Ce fichier de commandes est utilisé pour exécuter l’application Xming, puis l’application PuTTY afin que je puisse effectuer une connexion SSH au laboratoire informatique de mon université.
Cependant, si je lance ceci et que Xming n'est pas déjà ouvert, une fois que je sors du terminal PuTTY, la fenêtre cmd reste ouverte. Ce n'est que si j'ai déjà exécuté Xming que la fenêtre cmd se ferme lorsque je ferme le terminal PuTTY. J'ai essayé d'ajouter exit
à la dernière ligne du fichier de commandes, mais en vain.
Modifiez le fichier de commandes sur START
les deux programmes, au lieu de START
ing un et CALL
ing un autre
start C:\Users\Yiwei\Downloads\PuTTY.exe -load "MathCS-labMachine1"
start "" "C:\Program Files (x86)\Xming\Xming.exe" :0 -clipboard -multiwindow
Si vous l'exécutez comme ceci, aucune fenêtre CMD ne restera ouverte après le démarrage du programme.
Pour les débutants qui regardent: -
* Si vous voulez vous assurer que le fichier a été exécuté et que la fenêtre DOS se ferme après 2 secondes, vous pouvez ajouter les lignes suivantes:
délai d'attente 2> nul
sortie
SOLUTION: Par exemple, il existe un excellent petit programme gratuit appelé BgInfo qui affiche toutes les informations relatives à votre ordinateur. Supposons qu'il se trouve dans un répertoire appelé C:\BgInfo. Pour l'exécuter à partir d'un fichier de commandes avec le commutateur "/ popup" ..... ET pour que la fenêtre DOS se ferme ultérieurement pendant qu'elle s'exécute encore, utilisez:
démarrer "" "C:\BgInfo\BgInfo.exe"/popup
sortie
Cela a fonctionné pour moi. Je voulais juste fermer la fenêtre de commande automatiquement après avoir quitté le jeu. Je viens de double-cliquer sur le fichier .bat sur mon bureau. Pas de raccourcis.
taskkill /f /IM Explorer.exe
C:\"GOG Games"\Starcraft\Starcraft.exe
start Explorer.exe
exit /B
Ajouter ce code à la fin du code d'exécution
c:\windows> exit
Si vous voulez séparer les commandes en une commande par fichier, vous pouvez faire
cmd /c start C:\Users\Yiwei\Downloads\PuTTY.exe -load "MathCS-labMachine1"
et dans l'autre fichier, vous pouvez faire
cmd /c start "" "C:\Program Files (x86)\Xming\Xming.exe" :0 -clipboard -multiwindow
La commande cmd/c ferme la fenêtre d'invite de commande après l'exécution de l'exécutable.
Vous pourriez essayer le dangereux: taskkill /IM cmd.exe
..dangerous bcz qui va tuer le cmd qui est ouvert et tous les cmd ouverts avant.
Ou ajoutez une vérification pour confirmer que vous aviez le bon cmd.exe, puis éliminez-la via PID, comme ceci:
set loc=%time%%random%
title=%loc%
for /f "tokens=2 delims= " %%A in ('tasklist /v ^| findstr /i "%loc%"') do (taskkill /PID %%A)
Remplacez (pslist &&A)
ou (tasklist /FI "PID eq %%A")
par le (taskkill /PID %%A)
si vous voulez le vérifier en premier (et peut-être installer pstools).