Solutions
Voici les solutions pour les 6 exercices sur l'utilisation des scripts shell sous Windows.
Solution Exercice 1 : Copier et renommer des fichiers
Ce script copie un fichier source vers un dossier de destination et renomme le fichier en y ajoutant la date et l’heure actuelles.
@echo off
set source=C:\DossierSourceichier.txt
set destination=C:\DossierDestination
copy %source% %destination%
:: Suppression des caractères non valides dans la date et l'heure
set date_heure=%date:~6,4%-%date:~3,2%-%date:~0,2%_%time:~0,2%-%time:~3,2%
ren %destination%ichier.txt fichier_%date_heure%.txt
echo Fichier copié et renommé.
Solution Exercice 2 : Script de nettoyage automatique
Ce script supprime tous les fichiers dans le répertoire %TEMP% et affiche des messages avant et après la suppression.
@echo off
echo Suppression des fichiers temporaires...
del /s /q %TEMP%\*
if %errorlevel%==0 (
echo Suppression terminée avec succès.
) else (
echo Une erreur s'est produite lors de la suppression.
)
pause
Ce script affiche un menu permettant à l’utilisateur de choisir une option : afficher la liste des fichiers, vérifier l’espace disque, ou quitter.
@echo off
choice /c dce /m "Choisissez une option : (D)ir, (C)heck Disk, (E)xit"
if %errorlevel%==1 (
dir
) else if %errorlevel%==2 (
chkdsk
) else (
exit
)
Solution Exercice 4 : Script de sauvegarde avec vérification
Ce script demande à l’utilisateur s’il souhaite effectuer une sauvegarde. Si la réponse est "o", les fichiers sont copiés dans un dossier de sauvegarde.
@echo off
set /p confirmation="Voulez-vous faire une sauvegarde ? (o/n) : "
if /i %confirmation%==o (
xcopy C:\Documents\*.* D:\Sauvegarde /s /y
echo Sauvegarde effectuée avec succès.
) else (
echo Sauvegarde annulée.
)
pause
Solution Exercice 5 : Gestion de fichiers
Ce script renomme tous les fichiers .txt dans un répertoire en leur ajoutant un préfixe "Backup_".
@echo off
for %%f in (*.txt) do (
ren %%f Backup_%%f
)
echo Tous les fichiers .txt ont été renommés.
pause
Solution Exercice 6 : Surveillance d’espace disque
Ce script vérifie si l’espace disque disponible est inférieur à 10 Go. Si c’est le cas, un message d’avertissement est affiché.
@echo off
for /f "tokens=3" %%a in ('fsutil volume diskfree C: ^| find "disponible"') do set freeSpace=%%a
if %freeSpace% lss 10737418240 (
echo Avertissement : l'espace disque est insuffisant !
) else (
echo L'espace disque est suffisant.
)
pause
Last modified: 10 October 2024