Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Vérifier si l'utilisateur est administrateur
- if (-not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {
- # Si l'utilisateur n'est pas administrateur, relancer PowerShell en tant qu'administrateur
- Start-Process powershell.exe "-File `"$PSCommandPath`"" -Verb RunAs
- Exit
- }
- # Ouvrir une boîte de dialogue pour sélectionner un fichier texte
- Add-Type -AssemblyName System.Windows.Forms
- $openFileDialog = New-Object System.Windows.Forms.OpenFileDialog
- $openFileDialog.Filter = "Fichiers texte (*.txt)|*.txt"
- $openFileDialog.Multiselect = $false
- $openFileDialog.ShowDialog() | Out-Null
- # Lire le contenu du fichier sélectionné
- $content = Get-Content $openFileDialog.FileName
- # Définir une expression régulière pour rechercher les chaînes contenant []
- $regex = '\[\]'
- # Initialiser un compteur pour incrémenter les [] trouvées
- $index = 0
- # Parcourir le contenu du fichier et remplacer les [] par [0] pour le premier trouvé et incrémenter les autres
- $content = $content | ForEach-Object {
- if ($_ -match $regex) {
- if ($index -eq 0) {
- $_ -replace $regex, '[0]'
- } else {
- $replacement = '[' + ($index) + ']'
- $_ -replace $regex, $replacement
- }
- $index++
- } else {
- $_
- }
- }
- # Écrire le contenu modifié dans un nouveau fichier
- Set-Content -Path 'output.txt' -Value $content
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement