Advertisement
Thunder-Menu

replace[]by[increment+1].ps1

Apr 2nd, 2023
1,383
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PowerShell 1.49 KB | Source Code | 0 0
  1. # Vérifier si l'utilisateur est administrateur
  2. if (-not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {
  3.     # Si l'utilisateur n'est pas administrateur, relancer PowerShell en tant qu'administrateur
  4.     Start-Process powershell.exe "-File `"$PSCommandPath`"" -Verb RunAs
  5.     Exit
  6. }
  7.  
  8. # Ouvrir une boîte de dialogue pour sélectionner un fichier texte
  9. Add-Type -AssemblyName System.Windows.Forms
  10. $openFileDialog = New-Object System.Windows.Forms.OpenFileDialog
  11. $openFileDialog.Filter = "Fichiers texte (*.txt)|*.txt"
  12. $openFileDialog.Multiselect = $false
  13. $openFileDialog.ShowDialog() | Out-Null
  14.  
  15. # Lire le contenu du fichier sélectionné
  16. $content = Get-Content $openFileDialog.FileName
  17.  
  18. # Définir une expression régulière pour rechercher les chaînes contenant []
  19. $regex = '\[\]'
  20.  
  21. # Initialiser un compteur pour incrémenter les [] trouvées
  22. $index = 0
  23.  
  24. # Parcourir le contenu du fichier et remplacer les [] par [0] pour le premier trouvé et incrémenter les autres
  25. $content = $content | ForEach-Object {
  26.     if ($_ -match $regex) {
  27.         if ($index -eq 0) {
  28.             $_ -replace $regex, '[0]'
  29.         } else {
  30.             $replacement = '[' + ($index) + ']'
  31.             $_ -replace $regex, $replacement
  32.         }
  33.         $index++
  34.     } else {
  35.         $_
  36.     }
  37. }
  38.  
  39. # Écrire le contenu modifié dans un nouveau fichier
  40. Set-Content -Path 'output.txt' -Value $content
  41.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement