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