đïž PowerShell et manipulation de fichiers
- Seul, Ă votre rythme
đŻ Objectif pĂ©dagogiqueâ
- Manipuler des fichiers et répertoires via PowerShell
- Automatiser des tĂąches simples avec des scripts
- Utiliser les chemins relatifs et absolus
- Rechercher des fichiers et du contenu textuel dans une arborescence
- Afficher et modifier les permissions des fichiers
đ ĂnoncĂ©â
đ§ Contexteâ
Un administrateur systĂšme vous confie une sĂ©rie de tĂąches Ă rĂ©aliser via PowerShell. Ces tĂąches pourraient ĂȘtre automatisĂ©es dans un petit script. Vous devez crĂ©er un environnement de travail, manipuler des fichiers et rĂ©pertoires, le tout en utilisant PowerShell.
đ Ătape 1 â PrĂ©parer un environnementâ
- Ouvrez PowerShell dans un dossier de travail de votre choix.
- Créez la structure suivante avec PowerShell :
projet/
âââ notes/
âââ archives/
âââ temp/
- Dans le dossier
notes
, créez 3 fichiers texte nomméscours1.txt
,cours2.txt
,cours3.txt
. Chacun de ces fichiers doit contenir une phrase diffĂ©rente, incluant le mot important dans lâun dâeux. InsĂ©rez le contenu directement dans les fichiers avec PowerShell. - Dans le dossier
temp
, créez un fichier texte nommétemp.txt
avec le contenu suivant :Ce fichier est temporaire.
Commandes utiles :
New-Item
pour créer des fichiers et des dossiersSet-Content
pour écrire du contenu dans les fichiersGet-ChildItem
pour lister les fichiers et dossiers
đ Ătape 2 â Recherches et cheminsâ
- Recherchez tous les fichiers
.txt
dans le dossierprojet
, mĂȘme dans les sous-dossiers. - Recherchez le mot
important
dans tous les fichiers texte. - Affichez le chemin absolu de chacun des fichiers
.txt
.
Commandes utiles :
Get-ChildItem -Recurse
pour lister les fichiers récursivementSelect-String
pour rechercher du texte dans les fichiersResolve-Path
pour obtenir le chemin absolu des fichiers
đ Ătape 3 â Automatisation et englobement simpleâ
-
Ăcrivez un script PowerShell nommĂ©
gestion.ps1
qui fait les opérations suivantes :-
Copie tous les fichiers de
notes
versarchives
-
Supprime le contenu du dossier
temp
sâil existe (sans supprimertemp
lui-mĂȘme) -
Renomme les fichiers copiés dans
archives
en ajoutant_backup
avant.txt
- Exemple :
cours1.txt
âcours1_backup.txt
- Exemple :
-
Commandes utiles :
Test-Path
pour vĂ©rifier lâexistence dâun dossier ou dâun fichierCopy-Item
pour copier des fichiersRemove-Item
pour supprimer des fichiers ou dossiersRename-Item
pour renommer des fichiers
ExĂ©cutez plusieurs fois votre script pour vĂ©rifier quâil est idempotent (ne casse rien sâil est relancĂ© plusieurs fois).
đ§Ș Ătape 4 â VĂ©rification automatiqueâ
Ajoutez Ă votre script une commande qui :
- Compte et affiche le nombre de fichiers dans
archives
- Affiche un message "SuccÚs : tous les fichiers ont été sauvegardés." si ce nombre est 3
đ Ătape 5 â Permissions NTFS (droits dâaccĂšs)â
-
Dans le dossier
notes/
, enlevez Ă lâutilisateur courant le droit de lecture sur un des fichiers. Ceci doit ĂȘtre fait en utilisant PowerShell. -
Essayez de lire ce fichier avec
Get-Content
. Que se passe-t-il ? -
Rétablissez ensuite la permission avec PowerShell.
-
Donnez temporairement Ă tout le dossier
archives/
une permission en lecture-écriture seulement (pas suppression). -
Tentez ensuite dâeffacer un fichier de
archives/
avecRemove-Item
. Que constatez-vous ?