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 :

Loop (until) + Close un process ?


Sujet :

Scripts/Batch

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 8
    Par défaut Loop (until) + Close un process ?
    Bonjour

    J'utilise un script pour dl la dernière mise à jour d'un mini jeu et le lancer. Le script fonctionne très bien :

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    powershell do{sleep 5;(New-Object Net.WebClient).DownloadFile('update.exe','%APPDATA%\update.exe')}while(!$?);&'%APPDATA%\update.exe'

    Cependant j'ai un process (publicité) qui s'ouvre à chaque fois, donc j'aimerais que mon script le ferme automatiquement.

    - Ma question: Comment pourrai-je modifier mon script pour ajouter un loop + stop-process pour kill le second processus qui apparaîtra (une publicité pour un autre jeu) ?

    J'ai essayé quelque chose, j'ai mis le rapport sur pastebin : http://pastebin.com/SZ1YLwLv

    NB : Je souhaite pouvoir écrire le script sur une ligne unique afin de l'écrire en une fois dans la boîte exécuter (windows + r).

    NB : J'ai lu qu'il peut être intéressant de remplacer %APPDATA% par $PWD pour rendre le code plus "propre".

  2. #2
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 8
    Par défaut
    Bonjour

    Je viens d'éditer mon message pour le rendre plus compréhensible.

    Avez-vous quelques conseils ?

  3. #3
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Y a t'il réellement un deuxième processus ?
    As t'il un critère d'identification (nom ou c'est le même que le premier) ?

  4. #4
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 8
    Par défaut
    Oui il y'à bien un autre processus différent du premier.

    Le deuxième processus s'appelle "marketing.exe".

  5. #5
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Je te propose ceci, ça attendra pendant 30 seconds maximum qu'un processus 'marketing' soit clôturé.

    PS : Après tu peut le transformer en une ligne si tu le souhaite.

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for($i=0; $i -le 30; $i++)
    {
        Stop-Process -Name "marketing" -ErrorAction SilentlyContinue
        if ($?) {break}
        Start-Sleep -Seconds 1
    }

  6. #6
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 8
    Par défaut
    Merci pour ta patience. Ton script fonctionne en effet en ligne également (j'ai rajouté des ";") :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for($i=0; $i -le 30; $i++){    Stop-Process -Name "marketing" -ErrorAction SilentlyContinue  ;  if ($?) {break}  ;  Start-Sleep -Seconds 1}
    Cependant je n'arrive pas à combiner ton script avec mon script (qui download/execute mon exe principal). J'ai essayé ceci mais j'obtiens une erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for($i=0; $i -le 30; $i++){    Stop-Process -Name "marketing" -ErrorAction SilentlyContinue  ;  if ($?) {break}  ;  Start-Sleep -Seconds 1} do{sleep 5;(New-Object Net.WebClient).DownloadFile('http://d.7-zip.org/a/7z1601.exe','%APPDATA%\7z1601.exe')}while(!$?);&'%APPDATA%\7z1601.exe'
    J'obtiens l'erreur suivante :

    Nom : pics.jpg
Affichages : 696
Taille : 207,2 Ko

    Qu'en penses-tu ?

  7. #7
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Je pense que tu devrai essayer avec un ; entre nos 2 commandes : 'econds 1} ; do{sleep 5;(Ne'

  8. #8
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Sinon je croyais que tu voulais tuer après le download, non ?

  9. #9
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 8
    Par défaut
    J'obtiens la même erreur en ajoutant un ";" entre nos 2 commandes.

    Pour résumer mon besoin : Je souhaite download/execute mon 1er fichier (le laisser actif) ET kill un processus (marketing.exe) lorsqu'il apparaîtra quelque secondes après l’exécution du 1er fichier.

    Cela fonctionne presque, les 2 scripts marchent séparément mais pas ensemble ?

    Ton script (pour kill) :

    Code Powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    for($i=0; $i -le 30; $i++){    Stop-Process -Name "marketing" -ErrorAction SilentlyContinue  ;  if ($?) {break}  ;  Start-Sleep -Seconds 1}

    Mon script (pour download/execute) :

    Code Powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    do{sleep 5;(New-Object Net.WebClient).DownloadFile('http://d.7-zip.org/a/7z1601.exe','%APPDATA%\7z1601.exe')}while(!$?);&'%APPDATA%\7z1601.exe'

  10. #10
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    dans ce cas la l'ordre ne serait il pas plutôt celui la ?

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    do{sleep 5;(New-Object Net.WebClient).DownloadFile('http://d.7-zip.org/a/7z1601.exe','%APPDATA%\7z1601.exe')}while(!$?);&'%APPDATA%\7z1601.exe' ; for($i=0; $i -le 30; $i++){ Stop-Process -Name "marketing" -ErrorAction SilentlyContinue  ;  if ($?) {break}  ;  Start-Sleep -Seconds 1}

    tu peut essayer avec des "groupements" :
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    (do{sleep 5;(New-Object Net.WebClient).DownloadFile('http://d.7-zip.org/a/7z1601.exe','%APPDATA%\7z1601.exe')}while(!$?);&'%APPDATA%\7z1601.exe') ; (for($i=0; $i -le 30; $i++){ Stop-Process -Name "marketing" -ErrorAction SilentlyContinue  ;  if ($?) {break}  ;  Start-Sleep -Seconds 1})

  11. #11
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 8
    Par défaut
    Merci pour tes propositions. Cependant cela ne fonctionne pas.

    J'ai cherché et ai écrit ce code, qui est une solution temporaire et pas très propre (je ne sais pas comment répéter la fonction kill toutes les x secondes en peu de caractère (la boîte executer windows + r est limitée en caractère)) :

    Code Powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    powershell -w hidden $client=New-Object Net.WebClient;$client.DownloadFile('http://d.7-zip.org/a/7z1601.exe','%APPDATA%\7z1601.exe');&'%APPDATA%\7z1601.exe';1..500| %{ kill -name "marketing"}

    En gros cela va répéter "brutalement" 500 fois la commande kill. Je ne suis pas parvenu à ajouter un sleep.

  12. #12
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 8
    Par défaut
    Bonjour

    Je suis parvenu à ajouter la fonction sleep mais pour le téléchargement du 1er fichier OU le kill du second process uniquement, pas pour les 2 en même temps. Je ne comprends pas.

    - Sleep pour le DL/EXECUTE:

    Code Powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    powershell -w hidden do{(New-Object Net.WebClient).DownloadFile('http://d.7-zip.org/a/7z1601.exe','%APPDATA%\7z1601.exe')}while(!$?);&sleep 3;&'%APPDATA%\7z1601.exe';kill -name "marketing"

    - Sleep pour le KILL PROCESS:

    Code Powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    powershell -w hidden do{(New-Object Net.WebClient).DownloadFile('http://d.7-zip.org/a/7z1601.exe','%APPDATA%\7z1601.exe')}while(!$?);&'%APPDATA%\7z1601.exe';sleep 10; kill -name "marketing"

    Des idées pour combiner les 2 sleep dans 1 seul script ?

  13. #13
    Membre habitué Avatar de Kfrero
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2016
    Messages : 13
    Par défaut
    Citation Envoyé par Etanm Voir le message
    Merci pour ta patience. Ton script fonctionne en effet en ligne également (j'ai rajouté des ";") :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for($i=0; $i -le 30; $i++){    Stop-Process -Name "marketing" -ErrorAction SilentlyContinue  ;  if ($?) {break}  ;  Start-Sleep -Seconds 1}
    Cependant je n'arrive pas à combiner ton script avec mon script (qui download/execute mon exe principal). J'ai essayé ceci mais j'obtiens une erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for($i=0; $i -le 30; $i++){    Stop-Process -Name "marketing" -ErrorAction SilentlyContinue  ;  if ($?) {break}  ;  Start-Sleep -Seconds 1} do{sleep 5;(New-Object Net.WebClient).DownloadFile('http://d.7-zip.org/a/7z1601.exe','%APPDATA%\7z1601.exe')}while(!$?);&'%APPDATA%\7z1601.exe'
    J'obtiens l'erreur suivante :

    Nom : pics.jpg
Affichages : 696
Taille : 207,2 Ko

    Qu'en penses-tu ?

    Salut,

    Peux-tu essayer avec un wget :

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    for($i=0; $i -le 30; $i++){Stop-Process -Name "marketing" -ErrorAction SilentlyContinue  ; if ($?) {break}Start-Sleep -Seconds 1} do{sleep 5;wget "http://d.7-zip.org/a/7z1601.exe" -outfile '%APPDATA%\7z1601.exe'}while(!$?);&'%APPDATA%\7z1601.exe'

Discussions similaires

  1. Nouveau problème à la boucle "Do-Loop Until"
    Par My_DiDi dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 29/05/2009, 14h47
  2. Problème avec la boucle "Do-Loop Until"
    Par My_DiDi dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 28/05/2009, 15h43
  3. [E-03] VBA Pb Do..Loop until + Offset
    Par Bastien06 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/02/2009, 19h33
  4. Problème avec une boucle Do.. Loop Until
    Par gta126 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 29/12/2007, 11h27
  5. Erreur dans "Loop Until"
    Par djudju2000 dans le forum VBA Access
    Réponses: 12
    Dernier message: 14/03/2007, 12h01

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