Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Définir la fonction pour ouvrir la boîte de dialogue de sélection de dossier
- Function Select-FolderDialog {
- [System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms") | Out-Null
- $dialog = New-Object System.Windows.Forms.FolderBrowserDialog
- $dialog.Description = "Select a folder"
- $dialog.RootFolder = "MyComputer"
- $dialog.ShowNewFolderButton = $false
- if ($dialog.ShowDialog() -eq [System.Windows.Forms.DialogResult]::OK) {
- $dialog.SelectedPath
- }
- }
- # Vérifier si l'utilisateur dispose des droits d'administrateur
- $isAdmin = ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
- # Si l'utilisateur n'est pas administrateur, redémarrer en tant qu'administrateur
- if (-not $isAdmin) {
- # Relancer le script en tant qu'administrateur
- Start-Process powershell.exe "-File `"$PSCommandPath`"" -Verb RunAs
- # Quitter le script actuel
- Exit
- }
- # Ouvrir la boîte de dialogue de sélection de dossier
- $folder_path = Select-FolderDialog
- # Parcourir tous les fichiers dans le dossier
- foreach ($file in Get-ChildItem $folder_path -Recurse) {
- # Ouvrir le fichier en mode lecture/écriture
- $file_contents = Get-Content $file.FullName -Raw
- $file_stream = [System.IO.File]::OpenWrite($file.FullName)
- $file_writer = New-Object System.IO.StreamWriter($file_stream)
- # Parcourir toutes les lignes du fichier et commenter les occurrences de static_assert() et #pragma pack()
- foreach ($line in $file_contents -split "`n") {
- if ($line -match "static_assert") {
- $line = "// $line"
- }
- if ($line -match "#pragma pack") {
- $line = "// $line"
- }
- #if ($line -match "#include") {
- # $line = "// $line"
- # }
- $file_writer.WriteLine($line)
- }
- # Fermer le fichier
- $file_writer.Close()
- $file_stream.Close()
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement