Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1

    [batch]aiuto per inserire delle righe in un txt

    salve gente
    ho un problema dovuto alla mia inesperienza con la programmazione

    dovrei aggiungere del testo all'interno di un determinato file txt lanciando un file batch

    esempio di testo

    codice:
    [Data]
    AutomaticUpdates="Yes"
    Autopartition=0
    MsDosInitiated=0
    UnattendedInstall="Yes"
    
    [Unattended]
    UnattendMode=DefaultHide
    UnattendSwitch="No"
    OemPreinstall="Yes"
    OemSkipEula="Yes"
    FileSystem=*
    WaitForReboot="No"
    NoWaitAfterTextMode=1
    NoWaitAfterGUIMode=1
    DriverSigningPolicy=Ignore
    NonDriverSigningPolicy=Ignore
    
    [SystemRestore]
    
    [GuiUnattended]
    AdminPassword=*
    TimeZone=110
    OEMSkipRegional=1
    OemSkipWelcome=1
    
    [Components]
    
    [UserData]
    ProductKey="xxxxxxxxxxxxxxxxxxxxxxxxxxx"
    ComputerName=*
    FullName="x"
    OrgName="x"
    
    [RegionalSettings]
    LanguageGroup=1
    Language= "0410"
    
    [Networking]
    InstallDefaultComponents="Yes"
    
    [Identification]
    JoinWorkgroup="MSHOME"

    mentre io devo modificare il file affinchè alla fine mi aggiunga due righe alla fine e diventi così

    codice:
    [Data]
    AutomaticUpdates="Yes"
    Autopartition=0
    MsDosInitiated=0
    UnattendedInstall="Yes"
    
    [Unattended]
    UnattendMode=DefaultHide
    UnattendSwitch="No"
    OemPreinstall="Yes"
    OemSkipEula="Yes"
    FileSystem=*
    WaitForReboot="No"
    NoWaitAfterTextMode=1
    NoWaitAfterGUIMode=1
    DriverSigningPolicy=Ignore
    NonDriverSigningPolicy=Ignore
    
    [SystemRestore]
    
    [GuiUnattended]
    AdminPassword=*
    TimeZone=110
    OEMSkipRegional=1
    OemSkipWelcome=1
    
    [Components]
    
    [UserData]
    ProductKey="xxxxxxxxxxxxxxxxxxxxxxxxxxx"
    ComputerName=*
    FullName="x"
    OrgName="x"
    
    [RegionalSettings]
    LanguageGroup=1
    Language= "0410"
    
    [Networking]
    InstallDefaultComponents="Yes"
    
    [Identification]
    JoinWorkgroup="MSHOME"
    
    [Shell]
    CustomDefaultThemeFile = "%WinDir%\Resources\Themes\MyTheme.theme"
    datemi qualche speranza

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    codice:
    echo.
    echo [Shell] >> tuofile.txt
    echo CustomDefaultThemeFile = "%WinDir%\Resources\Themes\MyTheme.theme" >> tuofile.txt

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Correggi la prima riga in

    echo. >> tuofile.txt

    distrazione mia.

  4. #4
    wow

    grazie infinite

    non hai idea dell'enorme problema che mi hai risolto

    vorrei chiederti un'ultimo (spero) favore

    se volessi modificare una qualsiasi riga all'interno di quel file

    per esempio

    codice:
    [UserData]
    ProductKey="xxxxxxxxxxxxxxxxxxxxxxxxxxx"
    ComputerName=*
    FullName="x"
    OrgName="x"
    farlo diventare

    codice:
    [UserData]
    ProductKey="yyyyyyyyyyyyyyyyyyyyyyy"
    ComputerName=h725
    FullName="y"
    OrgName="z"
    credo di aver capito che si debbano utilizzare IF e FIND ma non so come strutturarle all'interno del batch :master:

    ancora grazie per la precedente risposta e ringrazimanti anticipati per la futura risposta

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Credo tu debba ricorrere ad utility esterne, quali il porting su windows del comando linux sed ma data la mia scarsa conoscenza della programmazione batch facile che venga contraddetto.

    A questo indirizzo

    http://sourceforge.net/projects/unxutils

    scarica il pacchetto, scompattalo e copia il file sed nella cartella system32.

    Per fare sostituzioni multiple prova così

    codice:
    sed "s/stringa_cercata_1/stringa_sostituita_1/g;s/stringa_cercata_2/stringa_sostituita_2/g" tuo_file.txt > file_output.txt
    edit. Attenendomi al tuo esempio la sostituzione diventa

    codice:
    sed "s/ProductKey=\"xxxxxxxxxxxxxxxxxxxxxxxxxxx\"/ProductKey=\"yyyyyyyyyyyyyyyyyyyyyyy\"/g;s/ComputerName=\*/ComputerName=h725/g;s/FullName=\"x\"/FullName=\"y\"/g;s/OrgName=\"x\"/OrgName=\"z\"/g" origine.txt > destinazione.txt

  6. #6
    grazie ancora!!!

    sembra funzionare alla grande!!!

    solo che a me servirebbe forse qualcosa a livello condizionale!

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da riosilente
    grazie ancora!!!

    sembra funzionare alla grande!!!

    solo che a me servirebbe forse qualcosa a livello condizionale!
    Puoi spiegarti meglio?

  8. #8
    si scusa mi sono spiegato come un libro chiuso data la mia totale inettezza!


    alla luce delle mie nuove scoperte vorrei capire

    - se una stringa esiste modificarla
    - se una stringa esiste non modificarla
    - se una stringa non esiste crearla

    non so se adesso sono stato più chiaro (o lucido!)

    devo comunque ringraziarti per le precedenti soluzioni che mi hai dato perchè sono state utilissime (anzi di più!)

  9. #9
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Sei costretto a usare il batch o sono ammesse soluzioni alternative?

  10. #10
    teoricamente si

    il progetto parte da un autoestraente creato con winrar che una volta scompattato copia file in determinate cartelle e tramite batch applica delle modifiche a file

    in pratica tramite batch faccio in modo che vengano cambiate (richimando vari script e programmi come reshacker) delle risorse e delle icone il tutto per dare la possibilità a chi lo usa di fare tutto in automatico senza dover intervenire minimamente

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.