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
Partager