J'ai une machine virtuelle 64 bits Server 2012 R2 Standard qui agit étrangement. Les fichiers Bat fonctionnent correctement et la fenêtre CMD se ferme normalement; mais si le dossier contenant le fichier bat est fermé pendant l'exécution du fichier bat, il se terminera mais la fenêtre CMD ne se fermera pas. J'ai simplifié cela au point d'avoir le fichier bat le plus simple possible. Il contient 1 ligne. pause
- Ouvrez le dossier contenant le fichier bat avec l'Explorateur Windows
- Démarrez le fichier bat en double-cliquant dessus
- Fermez la fenêtre de l'Explorateur Windows
- Appuyez sur n'importe quelle touche dans la fenêtre CMD
- Le curseur passe à la ligne suivante lorsque le fichier bat est terminé
- La fenêtre CMD reste
Cela ne se produit que sur une seule machine. Est-ce que quelqu'un sait pourquoi cela pourrait être? C'est une machine virtuelle de test et devrait peut-être juste être reconstruite, mais elle m'intéresse. Merci
J'ai remplacé mon simple fichier bat par un contenant les éléments suivants:
@assoc .bat
@for /F "tokens=1,* delims==" %%G in ('assoc .bat') do @ftype %%H
@reg query "HKLM\Software\Microsoft\Command Processor" /v AutoRun 2>NUL
@reg query "HKCU\Software\Microsoft\Command Processor" /v AutoRun 2>NUL
@wmic process where "caption = 'cmd.exe'" get CommandLine, ParentProcessId, ProcessID
@echo please close Windows Explorer before continuing
@pause
@wmic process where "caption = 'cmd.exe'" get CommandLine, ParentProcessId, ProcessID
@pause
Les résultats sont présentés ci-dessous:
.bat=batfile
batfile="%1" %*
CommandLine ParentProcessId ProcessId
C:\Windows\system32\cmd.exe /c ""D:\test.bat" " 1608 8460
please close Windows Explorer before continuing
Press any key to continue . . .
CommandLine ParentProcessId ProcessId
C:\Windows\system32\cmd.exe /c ""D:\test.bat" " 1608 8460
Press any key to continue . . .
Ligne de commande
13/04/2016 J'ai découvert un peu plus en regardant le Gestionnaire des tâches en faisant cela. Lorsque je démarre le fichier bat 2 lignes apparaissent dans le Gestionnaire des tâches - fenêtre Détails ... 1 pour cmd.exe et 1 pour conhost.exe. Lorsque la chauve-souris termine cmd.exe disparaît, mais conhost.exe reste. Une autre chose que j'ai remarquée est que vous n'avez pas vraiment à quitter le dossier de l'Explorateur Windows comme je l'ai dit précédemment ... tout ce que vous avez à faire est de cliquer n'importe où dans la fenêtre de l'Explorateur. Si je ne clique nulle part dans la fenêtre de l'Explorateur, la fenêtre CMD pour le fichier bat se ferme normalement et les deux tâches disparaissent de la fenêtre de détails comme nous nous y attendions.
exit
commande pour fermer la fenêtre CMD. Peut-être que cela pourrait aider.