2017-09-08 8 views
-1

Je cours sous Windows 8.1 et j'ai des problèmes pour redémarrer Explore.exe avec CMD. Le code fonctionne en ce qui concerne la mort de explorer.exe et le redémarrage, mais une fois ces 2 codes exécutés je ne peux pas utiliser Windows Explorer du tout. Pour résoudre ce problème, je dois redémarrer Explorer.exe dans le Gestionnaire des tâches en cliquant avec le bouton droit de la souris et en sélectionnant Redémarrer. Je peux également terminer le processus et aller jusqu'à 'exécuter une nouvelle tâche' et entrer explorer.exe. Si je ne le fais pas, je ne peux pas ouvrir un dossier, copier ou déplacer des fichiers. Je peux modifier mon script, ouvrir Firefox, et ouvrir le chrome. Excel exécute mes macros à la même vitesse. Pourquoi, après l'exécution de ces deux codes (l'un ou l'autre), l'explorateur de fichiers est-il lent à s'ouvrir et à fonctionner?CMD TaskKill Explorer.exe ralentit l'ouverture de l'Explorateur de fichiers


Mon code:

REM --------------------- 
REM TaskKill EXPLORER.EXE 
REM --------------------- 

FOR /F "tokens=1,2" %%A IN (
    'TaskList /FI "IMAGENAME eq EXPLORER.EXE"' 
) DO (
    IF /I "%%A" == "EXPLORER.EXE" (
     TaskKill /F /IM %%A >nul 
    ) 
) 

REM ------------------ 
REM START EXPLORER.EXE 
REM ------------------ 

START EXPLORER.EXE >NUL 

Le même problème se produit si je lance ce code


REM --------------------- 
REM TaskKill EXPLORER.EXE 
REM --------------------- 

Taskkill /F /IM EXPLORER.EXE >nul 

REM ------------------ 
REM START EXPLORER.EXE 
REM ------------------ 

START EXPLORER.EXE >NUL 

PS J'AI LE PROCESSUS REGISTRY SEPARE DE 1 À LA DISTINCTION ENTRE EXPLORER.EXE ET LA SHELL FILE EXPLORER LE

+0

Il n'y a pas de problème, ni déclaration question posée ici. –

+0

Pourquoi tuez-vous Explorer.exe? –

+0

J'ai une maintenance hebdomadaire Je cours 3 programmes. Un de ces programmes ouvre Windows Explorer quand il se termine comme un pépin. donc je cours le code il ouvre le programme quand il se termine je vois il y a 2 explorer.exe fonctionnant ainsi je termine le nouveau et continue avec les autres programmes. –

Répondre

0
SET /A RunningCount=0 

rem ---------------------------------------------------------- 
rem FIGURE OUT HOW MANY WIN EXPLORER.EXE'S THAT ARE RUNNING 
rem ---------------------------------------------------------- 
FOR /F "tokens=1,2,5,6" %%A IN (
    'TASKLIST /FI "IMAGENAME eq EXPLORER.EXE"' 
) DO (
    IF /I "%%A" == "EXPLORER.EXE" (
     SET /A RunningCount=!RunningCount!+1 
     SET "WinExplorerMemory!RunningCount!=%%C" 
     SET "WinExplorerPID!RunningCount!=%%B" 
    ) 
) 

rem ---------------------------------------------------------- 
rem THIS REMOVES THE COMMA'S IN THE STRING 
rem ---------------------------------------------------------- 
IF "%WinExplorerMemory1%" NEQ "" SET WinExplorerMemory1=%WinExplorerMemory1:,=% 
IF "%WinExplorerMemory2%" NEQ "" SET WinExplorerMemory2=%WinExplorerMemory2:,=% 

rem ---------------------------------------------------------- 
rem FIGURES OUT WHICH PID IS USING THE MOST MEMORY 
rem ---------------------------------------------------------- 
IF "%RunningCount%" EQU "1" (
    SET WinExplorerShellPID=%WinExplorerPID1% 
) ELSE (
    IF [%WinExplorerMemory1%] GTR [%WinExplorerMemory2%] (
     SET WinExplorerShellPID=%WinExplorerPID1% 
     TASKKILL /F /PID %WinExplorerPID2% >NUL 
    ) 
    IF [%WinExplorerMemory2%] GTR [%WinExplorerMemory1%] (
     SET WinExplorerShellPID=%WinExplorerPID2% 
     TASKKILL /F /PID %WinExplorerPID1% >NUL 
    ) 
)