[PowerShell] Lister les chemins absolus des dossiers de l'utilisateur courant.
Posté : jeu. 29 août 2024 16:52
Bonjour,
Ce script PowerShell récupère les chemins des principaux dossiers de l'utilisateur courant sous Windows (comme le Bureau, les Documents, les Téléchargements, etc.) et les enregistre dans un fichier texte (Variable-user.txt) situé sur le bureau de l'utilisateur. Il affiche également ces chemins dans la console pour que l'utilisateur puisse les voir directement pendant l'exécution. À la fin de l'exécution, il ajoute une pause pour que l'utilisateur puisse vérifier les informations avant que la console ne se ferme.
Le code
Ce que fait ce script
Ce script PowerShell récupère les chemins des principaux dossiers de l'utilisateur courant sous Windows (comme le Bureau, les Documents, les Téléchargements, etc.) et les enregistre dans un fichier texte (Variable-user.txt) situé sur le bureau de l'utilisateur. Il affiche également ces chemins dans la console pour que l'utilisateur puisse les voir directement pendant l'exécution. À la fin de l'exécution, il ajoute une pause pour que l'utilisateur puisse vérifier les informations avant que la console ne se ferme.
Le code
Code : Tout sélectionner
# Récupère et affiche les chemins des dossiers pour l'utilisateur courant
# Définir le chemin du fichier de log sur le bureau de l'utilisateur
$desktopPath = [Environment]::GetFolderPath("Desktop")
$outputFilePath = "$desktopPath\Variable-user.txt"
# Fonction pour enregistrer les chemins dans le fichier de log
function Log-Path {
param (
[string]$message
)
Add-Content -Path $outputFilePath -Value $message
}
# Dossier Bureau
$desktopPath = [Environment]::GetFolderPath("Desktop")
Write-Output "Chemin du Bureau : $desktopPath"
Log-Path "Chemin du Bureau : $desktopPath"
# Dossier Documents
$documentsPath = [Environment]::GetFolderPath("MyDocuments")
Write-Output "Chemin des Documents : $documentsPath"
Log-Path "Chemin des Documents : $documentsPath"
# Dossier Téléchargements
$downloadsPath = [Environment]::GetFolderPath("UserProfile") + "\Downloads"
Write-Output "Chemin des Téléchargements : $downloadsPath"
Log-Path "Chemin des Téléchargements : $downloadsPath"
# Dossier Images
$picturesPath = [Environment]::GetFolderPath("MyPictures")
Write-Output "Chemin des Images : $picturesPath"
Log-Path "Chemin des Images : $picturesPath"
# Dossier Musique
$musicPath = [Environment]::GetFolderPath("MyMusic")
Write-Output "Chemin de la Musique : $musicPath"
Log-Path "Chemin de la Musique : $musicPath"
# Dossier Vidéos
$videosPath = [Environment]::GetFolderPath("MyVideos")
Write-Output "Chemin des Vidéos : $videosPath"
Log-Path "Chemin des Vidéos : $videosPath"
# Dossier Application Data
$appDataPath = [Environment]::GetFolderPath("ApplicationData")
Write-Output "Chemin Application Data : $appDataPath"
Log-Path "Chemin Application Data : $appDataPath"
# Dossier Local Application Data
$localAppDataPath = [Environment]::GetFolderPath("LocalApplicationData")
Write-Output "Chemin Local Application Data : $localAppDataPath"
Log-Path "Chemin Local Application Data : $localAppDataPath"
# Dossier TEMP
$tempPath = [Environment]::GetEnvironmentVariable("TEMP")
Write-Output "Chemin du dossier TEMP : $tempPath"
Log-Path "Chemin du dossier TEMP : $tempPath"
# Dossier Roaming Profile (chemin du profil utilisateur)
$roamingProfilePath = [Environment]::GetFolderPath("UserProfile")
Write-Output "Chemin du profil d'utilisateur (Roaming Profile) : $roamingProfilePath"
Log-Path "Chemin du profil d'utilisateur (Roaming Profile) : $roamingProfilePath"
# Ajout d'une pause avant la fermeture du script
Read-Host -Prompt "Appuyez sur Entrée pour fermer le script..."
Ce que fait ce script
- Déclaration et création d'un fichier de log :
Le script définit le chemin du fichier de sortie (Variable-user.txt) sur le bureau de l'utilisateur courant en utilisant la variable $desktopPath.
Il utilise une fonction personnalisée Log-Path qui permet d'ajouter des messages dans ce fichier.
- Récupération des chemins des dossiers de l'utilisateur :
Le script utilise la méthode [Environment]::GetFolderPath() pour récupérer les chemins des dossiers courants de l'utilisateur :
- Bureau (Desktop)
- Documents (MyDocuments)
- Téléchargements (Downloads)
- Images (MyPictures)
- Musique (MyMusic)
- Vidéos (MyVideos)
- Application Data (ApplicationData)
- Local Application Data (LocalApplicationData)
- TEMP (variable d'environnement TEMP)
- Profil d'utilisateur (Roaming Profile) (UserProfile)
- Affichage et enregistrement des chemins des dossiers :
- Pour chaque dossier, le script :
Affiche le chemin dans la console avec Write-Output.
Enregistre le chemin dans le fichier Variable-user.txt sur le bureau en utilisant la fonction Log-Path. - Pause avant la fermeture du script :
À la fin du script, il utilise Read-Host pour ajouter une pause. Cette commande attend que l'utilisateur appuie sur Entrée, permettant ainsi à l'utilisateur de vérifier les informations affichées avant que la fenêtre de la console ne se ferme.
- Pour chaque dossier, le script :
- Enregistrer le code dans un fichier txt avec l'extension .ps1 par exemple variable-user.ps1
- Clic droit sur l'icône du fichier et commande Exécuter avec PowerShell
- Des messages de confirmation apparaissent au fur et à mesure de l'exécution du script
- Le script se ferme à la fin des opérations.
- Le fichier variable-user.txt est affiché sur le bureau