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 :

Donner le focus à la fenêtre de commande [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif Avatar de ledisciple
    Homme Profil pro
    observateur de nuage niveau 2.3
    Inscrit en
    Août 2008
    Messages
    860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : observateur de nuage niveau 2.3

    Informations forums :
    Inscription : Août 2008
    Messages : 860
    Par défaut Donner le focus à la fenêtre de commande
    Bonjour

    J'ai un fichier de commande qui permet un dézippage de fichiers zip et un déplacement des fichiers avec robocopy.
    A chaque boucle, j'ai placé pause, histoire de voir ce qu'il s'est passé.

    Le code fonctionne parfaitement. Cependant, j'ai des saisies utilisateurs à effectuer entre deux dezippages SET /P folder.

    Bref, j'aurai voulu savoir si entre deux boucles, il était possible de redonner le focus à ma fenêtre de commande, afin que j'effectue les saisies, dès qu'une boucle ait achevée sa mission?

    Mon code (pas parfait, je sais )

    Code Batch : 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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    @echo off
    setlocal enabledelayedexpansion
    cls
    pause
     
    for /R "C:\Users\LT30694\Desktop\Dezippeur\CFM" %%I in ("*.zip") do (
        title Paramétrage des variables
        call:extract_informations_title_file %%~dpnI
     
    	if !fonction!==DATA (
    		title Extraction des fichiers du !fonction! !type!
    		"C:\Program Files\7-zip\7z.exe" x "%%I" -o"%%~dpnI" -r
    		title Copie vers le serveur des fichiers du !fonction! !type!
    		robocopy "%%~dpnI" "\\snm.snecma\Partages\SavBiblio\BIBLIOTHEQUE\!moteur!\!type!\!type! - !version! - DVD\viewer" /E /MOVE
    		set repertoire=%%~dpnI
    		set fichier=%%I
    		title Suppression des fichiers zip et dezippe du !fonction! !type!
    		call:suppression
    	) 
    	if !fonction!==APP (
    		title Saisir le nom de la version actuelle
    		SET /P folder=Saisir le nom de la version actuelle : 
    		IF "!folder!"=="" GOTO Empty
     
    		title Saisir le nom de l'ancienne version
    		SET /P folder2=Saisir le nom de l'ancienne version : 
    		IF "!folder2!"=="" GOTO Empty
     
    		title Extraction des fichiers du !fonction! !type!
    		"C:\Program Files\7-zip\7z.exe" x "%%I" -o"%%~dpnI" -r
    		title Copie vers le serveur des fichiers du !fonction! !type!
    		robocopy "%%~dpnI" "\\snm.snecma\Partages\SavBiblio\BIBLIOTHEQUE\!moteur!\!type!\!type! - !version! - DVD" /E /MOVE
    		set repertoire=%%~dpnI
    		set fichier=%%I
    		title Suppression des fichiers zip et dezippe du !fonction! !type!
    		call:suppression
     
    		title Archivage de la version actuelle !folder!
    		robocopy "\\snm.snecma\Partages\SavBiblio\BIBLIOTHEQUE\!moteur!\!type!\!folder!" "\\snm.snecma\Partages\SavBiblio\BIBLIOTHEQUE\REVISIONS ANTERIEURES\!moteur! N-1\!type!\!folder!" /E /MOVE
     
    		title Détection du disque dur
    		call :DetectLetterExternaHardDisk
    		title Archivage de l'ancienne version !folder2!
    		robocopy "\\snm.snecma\Partages\SavBiblio\BIBLIOTHEQUE\REVISIONS ANTERIEURES\!moteur! N-1\!type!\!folder2!" "%letter%:\Civil\!moteur!\!type!" /e /MOVE
    		pause
    	) 
    )
    title Operations terminees
    echo Operations terminees
    pause
    exit
     
    :suppression
    title Suppression du repertoire decompresse !fichier!
    echo Suppression du repertoire decompresse !fichier! en cours
    RD /S /Q "!repertoire!"
    title Suppression du fichier zip !fichier!
    echo Suppression du zip en cours !fichier!
    DEL /S /Q "!fichier!"
    goto :eof
     
    :extract_informations_title_file
    for /f "tokens=2,3,4,5 delims=_" %%a in ('echo %~n1') do (
    	set fonction=%%a
        set moteur=%%b
        set type=%%c
        set mois=%%d
    )
    for /f "tokens=1 delims=_" %%a in ('echo %~x1') do set an=%%a
     
    set type=%moteur% %type%
    set version=%mois% %an:.=%
    goto :eof
    :Empty
    ECHO Aucune saisie faite!
    pause
    goto :eof
    :DetectLetterExternaHardDisk
    FOR %%A IN (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO IF EXIST %%A: (
        FOR /F "TOKENS=*" %%B IN ('VOL %%A:^|FIND /I "Archive BT"') DO ( SET SYS=%%A)
    )
    set letter=%SYS%
    goto :eof

    Merci beaucoup d'avance

  2. #2
    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
    Il doit te rendre le focus à la fin des robocopy.

    Sinon il faut que tu utilise un utilitaire tierce, par exemple nircmd
    https://superuser.com/questions/2978...trl-on-windows

  3. #3
    Membre extrêmement actif Avatar de ledisciple
    Homme Profil pro
    observateur de nuage niveau 2.3
    Inscrit en
    Août 2008
    Messages
    860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : observateur de nuage niveau 2.3

    Informations forums :
    Inscription : Août 2008
    Messages : 860
    Par défaut
    Bonjour

    Merci pour ta réponse.
    Je crois que je ne me suis mal exprimé Désolé.

    En fait, j'aimerai que la fenêtre de cmd réagisse, alors que je suis sur une autre fenêtre en :
    en clignotant : par exemple lorsque tu fini un téléchargement sur Chrome ou IE)
    ou
    en changement automatiquement de fenêtre
    ou
    autre?

    Merci d'avance.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Donner le focus à une fenêtre non java
    Par Khyinn dans le forum Général Java
    Réponses: 2
    Dernier message: 15/05/2010, 12h40
  2. Ne pas donner le focus à la fenêtre [BCB5]
    Par jupman dans le forum C++Builder
    Réponses: 6
    Dernier message: 22/07/2007, 13h35
  3. Réponses: 4
    Dernier message: 19/06/2007, 10h02
  4. Réponses: 4
    Dernier message: 05/09/2005, 16h01
  5. Réponses: 3
    Dernier message: 22/08/2005, 17h15

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