Bonjour à tous,

J'ai créé un script batch qui sauvegarde tous les profils utilisateurs Windows locaux vers un emplacement local (type disque USB).

Je voudrais ajouter un menu au lancement du script avec 2 possibilités :

1. Sauvegarder un profil de son choix
2. Sauvegarder tous les profils

Entrez votre choix :

En sélectionnant le choix 1, on obtiendrait ceci :

Entrez le nom du profil a sauvegarder :

Et le profil saisi serait stocké dans une variable qui serait interprété par l'argument /SOURCEUSERSPROFILESNAMES de mon logiciel de sauvegarde (AutoBackup.exe).

En sélectionnant le choix 2, le fonctionnement serait similaire au script actuel :

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
@echo off
cls
SETLOCAL ENABLEDELAYEDEXPANSION
rem Script de sauvegarde des profils utilisateurs locaux vers un emplacement local
 
set BackupDest=%~dp0data
set BkpFolder=Bkp2_%computername%_%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%
 
set bin=%~dp0bin
set log=%~dp0logs
set cecho="%bin%\cecho\%PROCESSOR_ARCHITECTURE%\cecho.exe"
 
rem vérif si script lancé depuis emplacement réseau
for /f "tokens=2,*" %%a in ('net use %~d0 2^>nul ^| %SystemRoot%\System32\find.exe "Nom distant"') do set chemin=%%~b%~p0
if defined chemin goto end
 
rem récup des profils avec lecteur nominatif
 
for /f "delims=" %%I in ('dir /a:d-h /b "%SystemDrive%\Users\*" 2^>nul ^| %SystemRoot%\System32\findstr.exe /i /l /x /v /g:"%bin%\exclude_users.txt"') do (
	Title Sauvegarde du profil en cours: %%~I
	%cecho% {0c} ----------------------------------------------{\n}
	%cecho% {0b}      Sauvegarde du profil: %%~I{\n}
	%cecho% {0c} ----------------------------------------------{\n}
	%cecho% {0D}
 
	rem démarrage de la sauvegarde
	"%bin%\AutoBackup.exe" /BACKUP /TO="%BackupDest%" /SUBFOLDER="%BkpFolder%" /SOURCEUSERSPROFILESNAMES="%%~I" /ALWAYSKEEPBOTH /DESKTOP /MYDOCUMENTS /MYPICTURES /IEFAVORITES /IESTARTPAGE /IESETTINGS /FIREFOX /OUTLOOKPST /OUTLOOKSIGNATURES /OUTLOOKNK2 /TEMPLATES /EXCLUSIONS="*.ost;*.exe;*.mp3;*.avi;*.mp4;*.mkv;*.iso" /LOGSTORAGE="%log%\%%~nI_%computername%\"
	rem création du raccourci pour la restauration
	if exist "%BackupDest%\%BkpFolder%\%%~I\*" (
            echo  Creation du raccourci "restore_user_profile"
            "%bin%\shortcut.exe" /F:"%BackupDest%\%BkpFolder%\restore_user_profile.lnk" /A:C /T:%SystemRoot%\System32\cmd.exe /P:"/c start """""" """..\..\bin\AutoBackup.exe""" /SAVELOGLEVEL=0 /LOADCONF="""%%CD:~0,2%%%~p0data\%BkpFolder%\Backup.conf"" >nul
        )
)
%cecho% {0c} --------------------------------------------------------------{\n silver}
 
:end
echo  Appuyez sur une touche pour quitter.
pause >nul
exit

Je souhaiterais de l'aide pour mettre en place un tel menu sélectif.

Merci.