IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Passer le nom d'un fichier à un batch


Sujet :

Scripts/Batch

  1. #1
    Membre à l'essai
    Femme Profil pro
    Ressources humaines
    Inscrit en
    Janvier 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2015
    Messages : 4
    Points : 11
    Points
    11
    Par défaut Passer le nom d'un fichier à un batch
    Bonjour,

    Je ne sais pas si je suis au bon endroit pour vous présenter mon problème,
    mais je suppose qu'on me le fera très vite remarqué si je me suis plantée.

    Voilà je veux pouvoir fermer une application ou une tâche qui fonctionne en arrière plan.
    Actuellement j'utilise la commande "" taskkill /IM monexecutable.exe /F "" alors j'ai fais un batch tout simple comme suit :

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    @echo off
    :loop
    CLS
    title Kill DLLHOST.EXE
    color 0B
    taskkill /IM dllhost.exe /F
    rem pause
    goto loop

    Donc en pratique ça permet de fermer toutes les instances de l'application DLLHOST.EXE
    Et je presse les touches CTRL+C pour stopper le batch.

    Maintenant j'aimerai pouvoir "indiquer" le fichier à fermer avant de lancer le batch ; comment dois-je m'y prendre ?

    PS: biensur l'idée serait de pouvoir faire cette modification rapidement sans avoir à éditer le batch....

  2. #2
    Membre éclairé Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Points : 809
    Points
    809
    Par défaut
    Bonjour/bonsoir,

    Je ne comprend pas deux choses:
    1 - Pourquoi faire un taskkill dans une boucle?
    2 - Quel "fichier" souhaitez-vous fermer?

    Est-ce quelque chose dans ce style que vous désirez?
    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    @echo off & cls
     
    echo Quel processus voulez-vous fermer?
    set/p "process=>"
    title Kill %process%.EXE
    color 0B
    taskkill /IM %process%.exe /F
    pause
    ________________________________________________________________
    N'oublie pas de faire une sauvegarde avant d'exécuter des scripts...
    Si j'ai ton problème, un petit fait toujours plaisir!
    ________________________________________________________________

  3. #3
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 836
    Points : 9 217
    Points
    9 217
    Par défaut Process Killer.bat

    Dans le même esprit de DevilSnake88
    Code BAT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    @Echo off & cls
    Mode con cols=72 lines=7
    :KillProcess
    Title Process Killer
    cls & color 0B
    echo.
    echo                  Quel processus voulez-vous fermer ?
    echo.
    set/p "process=>>"
    cls & color 0C
    Title Killing %process%.exe ...
    echo.
    echo                         Killing %process%.exe ...
    echo.
    Taskkill /IM %process%.exe /F
    echo. & pause
    Goto :killProcess

  4. #4
    Membre expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Points : 3 768
    Points
    3 768
    Par défaut
    Tu pourrais également lancer ton BAT avec un argument.

    tu lanceras donc ton bat de cette manière :

    tonbat.bat "dllhost.exe"

    Attention les " sont obligatoire.


    et ton code :

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    @echo off&cls
    title Kill %~1
    color 0B
     
    :loop
    tasklist | find /i %1 && taskkill /F /IM %~1 &&echo %~1 a ‚t‚ kill‚ || echo %~1 Nest pas en ex‚cution
    ping localhost -n 5 >nul
    goto loop


    Je fais préallablement un test pour savoir si le processus existe si oui on le tue sinon on affiche qu'il n'est pas present.

    Si tu veux faire tourner ton code en boucle il faut mettre une temporisation pour éviter des surchauffes de processeur.
    Uniquement dans le cas où tu laisserais ton BAT tourner en permanence. Si ce n'est pas le cas supprime la ligne avec ping localhost -n 5 >nul.





    PS +1 a @DevilSnake et @Hackoo
    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

  5. #5
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 836
    Points : 9 217
    Points
    9 217
    Par défaut

    J'ai bien aimé ce script , alors, je continue à améliorer ce dernier avec la possibilité de tuer plusieurs processus tapés séparément par un espace ou bien une virgule avec ajout d'un fichier résultat
    Code BAT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    @Echo off & cls
    Mode con cols=72 lines=7
    Set TmpFile=TmpFile.txt
    Set Resultat=KillResult.txt
    If Exist %TmpFile% Del %TmpFile%
    If Exist %Resultat% Del %Resultat%
    ::********************************************************************************************
    :Main
    Title Process Killer by Hackoo 2015
    Set process=
    cls & color 0B
    echo.
    echo                Quel(s) processus voulez-vous fermer ?
    echo.
    set/p "process=Entrer le(s) nom(s) de(s) processus> "
    cls & color 0C
    Title Killing "%process%.exe" ...
    echo.
    echo                       Killing "%process%.exe" ...
    echo.
    echo %date% *** %time% >> %TmpFile%
    For %%a in (%process%) Do Call :KillProcess %%a
    Cmd /U /C Type %TmpFile% > %Resultat%
    Start %Resultat%
    echo.
    Goto :Main
    ::*********************************************************************************************
    :KillProcess
    Taskkill /IM "%~1.exe" /F >> %TmpFile% 2>&1
    echo ***************************************************************************** >> %TmpFile% 
    ::*********************************************************************************************

Discussions similaires

  1. [Batch] Supprimer le début d'un nom de fichier en batch.
    Par FreeDo dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 06/06/2013, 15h29
  2. [SAX] Passer d'objet java en fichier XML?
    Par spoutyoyo dans le forum Format d'échange (XML, JSON...)
    Réponses: 15
    Dernier message: 05/01/2005, 09h31
  3. Passer le nom de colonne en paramètre d'une procédure stocké
    Par theartist dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 04/01/2005, 16h39
  4. sauvegarder le nom d'un fichier grace a un batch ?
    Par Phenomenium dans le forum Windows
    Réponses: 5
    Dernier message: 02/06/2004, 13h16
  5. Recuperer le nom d'un fichier
    Par elvivo dans le forum C
    Réponses: 5
    Dernier message: 27/12/2002, 16h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo