.. ================================================== .. FOR YOUR INFORMATION .. -------------------------------------------------- .. -*- coding: utf-8 -*- with BOM. ========================= 5-Répertoires et fichiers ========================= :Get-ChildItem: Permet de lister le contenu d'un répertoire. :: Get-ChildItem D:\test Get-ChildItem D:\test -Force Get-ChildItem D:\test -Include *.txt -Recurse Paramètres : **-Force** permet d'afficher les fichiers cachés et **-Recurse** le contenu de l'arborescence :Get-Location: Retourne l'emplacement actuel en chemin absolu :: Get-Location $path = Get-Location $path | Get-Member $path = (Get-Location).path La variable **$path** contiendra le chemin absolu du répertoire courant :Set-Location: Permet de se déplacer dans une arborescence ou dans un autre disque :: Set-Location C: Set-Location D:\temp Set-Location .. Set-Location \ Pour rappel ".." se réfère au répertoire parent et le "\\\\" à la racine du disque courant :New-Item: Permet la création de dossiers ou de fichiers. Le paramètre **-ItemType** définit **File** pour un fichier et **Directory** pour un répertoire :: New-Item -ItemType Directory -Name titi -Path d:\toto New-Item -ItemType File -Name tutu.txt -Path d:\toto :Remove-Item: Permet de supprimer des fichiers ou dossiers :: Remove-Item -Path d:\toto\tutu.txt Get-ChildItem d:\toto\tutu.txt -Include *.txt | Remove-Item Paramètres : **- Force** pour les fichiers cachés, **-Whatif** permet de simuler le résultat et **-Confirm** demander confirmation :Move-Item: Permet le déplacement d'un fichier ou répertoire d'une source à une destination :: Move-Item -Path d:\temp\toto -Destination d:\temp\titi Move-Item -Path d:\temp\toto -Destination d:\machin -Force Move-Item -Path d:\temp\*.ini -Destination d:\temp\ini Pour le dernier exemple le répertoire *ini* doit déjà exister et pour le 2e, c'est le *disque d:* qui doit exister. Le **-Force** permet la création du répertoire si besoin :Rename-Item: Permet de renommer un dossier ou un fichier :: Rename-Item -Path C:\temp\toto titi Rename-Item -Path C:\temp\toto C:\temp\titi Rename-Item -Path C:\temp\doc1.txt doc2.txt :Copy-Item: Permet de copier des fichiers ou des répertoires :: Copy-Item -Path d:\temp\doc1.txt -Destination d:\docs Copy-Item -Path d:\temp -Destination d:\backups -Recurse Paramètre **-Recurse** pour une arborescence :Invoke-Item: Permet d'ouvrir un fichier avec l'exécution associée par défaut :: Invoke-Item -Path d:\temp\planning.docx Le fichier *planning.docx* sera ouvert avec *Office Word* :Pour la base de registre: Pour rappel, la **base de registres** (**registry** en anglais) contient des informations essentielles au fonctionnement du système, il est donc impératif d'être prudent! L'interface graphique se lance avec **regedit.exe** pour **Registry Editor** * HKEY_CLASSES_ROOT, informations sur les applications, comme l'association entre une extension et l'exécutable associé * HKEY_CURRENT_USER, informations pour l'utilisateur actuel * HKEY_LOCAL_MACHINE, informations sur matériel, sécurité, système * HKEY_USERS, informations pour chaque utilisateur * HKEY_CURRENT_CONFIG, informations du boot actuel Pour avoir la racine de l'arborescence de la **registry**, on utilise **HKLM** et **HKCU** Dans l'exemple ci-dessous la registry a été modifiée avec l'ajout d'une clé *ETML* .. image:: Capt-registry-cle1.PNG :Get-ItemProperty: Permet d'obtenir des informations sur un fichier, un répertoire ou une clé de registre :: Get-ItemProperty -Path HKLM:\Software\ETML\CLE1 Dans le cas d'un fichier, il n'y a pas de différence entre les 2 commandes, mais dans le cas d'une clé, les informations retournées par **ItemProperty** sont plus complètes .. image:: Capt-item-property-7-zip.PNG :Get-ItemPropertyValue: Permet d'obtenir des informations sur une valeur de clé :: Get-ItemPropertyValue -Path HKLM:\Software\ETML\CLE1 -Name TOTO Les commandes de la partie **registry**, avec les **ItemProperty** seront utiles pour gérer les informations de la partie droite. Pour gérer l'arborescence, on utilise les mêmes commandes que pour les arborescences des disques Il y a aussi sur le même principe les commandes ci-dessous .. image:: Capt-commandes-property.PNG **Pour des raisons de sécurité, avant de commencer les exercices, il faut ajouter la clé ETML, tel que dans la capture de l'exemple de l'éditeur de registres** :Exercices: * :download:`Exo Répertoires et fichiers <../Exercices/E-122-5-Repertoires.pdf>`