Je veux fondamentalement combiner les ensembles de commandes suivants. En d'autres termes, je dois vérifier si un fichier exécutable existant dans c: \ apps est en cours d'exécution et, le cas échéant, pour le tuer. Une fois ces commandes terminées, je ferai un robocopy pour mettre à jour les fichiers dans c: \ apps. Ce script sera déployé avec SCCM. Pour cette raison, toutes les commandes doivent renvoyer errorlevel 0, sinon le déploiement sera échoué.
tasklist 2>NUL | find /I /N "processname.exe">NUL
if "%ERRORLEVEL%"=="0" taskkill /f /im processname.exe
et
for /r c:\apps\ %%G in (*.exe) do taskkill /F /IM %%~nxG
launchme.exe
, le nom de l'image peut être différent lorsqu'il est en mémoire. launchme.exe
peut simplement être un wrapper pour d'autres bibliothèques / exécutables qui doivent être chargés avant que l'interface utilisateur réelle ne soit affichée. En d'autres termes, ne vous fiez pas uniquement au nom de l'exécutable.