Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di natasha
    Registrato dal
    Sep 2000
    Messaggi
    1,307

    Script: effettuare sostituzione testuale in tutti i file con una certa estensione

    Buongiorno a tutti,
    devo elaborare uno script (.vbs, o .ps1 di PowerShell) che effettui le seguenti operazioni:

    1) cerchi, all'interno del disco C:\, tutti i file con una certa estensione;
    2) all'interno di ognuno di questi file, sostituisca una stringa di testo (se presente) con un'altra.

    Qualcuno ha idea di come fare, anche un singolo pezzo?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Ma tu conosci vbs (o ps)? Hai provato qualcosa?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it L'avatar di natasha
    Registrato dal
    Sep 2000
    Messaggi
    1,307
    Provato niente

  4. #4
    Fosse bash+classici tool Unix ti direi una cosa del genere:
    codice:
    find percorso -iname "*.estensione" -execdir sed -i "" "s/regex/sostituzione/g" {} \;
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it L'avatar di natasha
    Registrato dal
    Sep 2000
    Messaggi
    1,307
    Beh, con PowerShell la pipeline è ***QUASI*** altrettanto compatta.
    Con l'aiuto dell'ottimo workshop di Frank Kock (lo si trova ancora, a distanza di cinque anni, sparso per la rete), ho trovato la soluzione:

    $oldString = "VecchiaStringa"
    $newString = "NuovaStringa"
    $extension = "ext"
    $arrIniFiles = Get-ChildItem C:\* -recurse -include *.$extension | Select-String $oldString
    $arrIniFiles | ForEach-Object {
    (Get-Content $_.path) | Foreach-Object {
    $_ -replace $oldString, $newString
    } | Set-Content $_.path -Force
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.