Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Batch copiare e rinominare un file

    Salve a tutti,
    ho bisogno del vostro aiuto. Ogni mese, grazie ad un file batch con il comando XCOPY, faccio il backup ad un file che si chiama "Inventario.xlsx". Quando lo sposto nella directory di destinazione vorrei che lo rinominasse in automatico con la data odierna (es. 24.07.2015 Inventario.xlsx). E' possibile? Grazie

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315
    Supponendo che i percorsi siano "fissi" nel file BATCH (se sono parametrici cambia nulla, userai %1, %2 ecc):

    codice:
    SET DATA=%DATE%
    SET DataOraFile=%DATA:~0,2%_%DATA:~3,2%_%DATA:~6,4%
    
    COPY <percorso_al_file_xlsx> <percorso_di_backup>\%DataOraFile%_Inventario.xlsx

    In questo modo viene creata una copia del file "origine" nella nuova posizione ed il nome viene modificato nella forma "GG_MM_AAAA_Inventario.xlsx" (dove GG, MM e AAAA sono rispettivamente: giorno, mese ed anno attuale)


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Ciao e grazie della risposta; è proprio ciò che cercavo.
    Volevo chiederti perchè se al posto di COPY metto XCOPY mi chiede se il documento specifica un file o una directory? Grazie

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315
    Il comando XCOPY, diversamente da COPY, chiede all'utente se la destinazione debba essere il nome di un file o, piuttosto, il nome di una directory in cui copiare (pari pari) il file di origine. C'è un trucchetto per evitare che XCOPY effettui questa richiesta, facendo in modo che consideri automaticamente la destinazione come nome di file (e non di directory). Il trucco consiste nel mettere un asterisco alla fine del comando:


    codice:
    SET DATA=%DATE%
    SET DataOraFile=%DATA:~0,2%_%DATA:~3,2%_%DATA:~6,4%
    
    XCOPY <percorso_al_file_xlsx> <percorso_di_backup>\%DataOraFile%_Inventario.xlsx*

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Ciao, ti ringrazio.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.