PDA

Visualizza versione completa : [XP][File Batch] Assegnare Data corrente al nome file


borgata
29-12-2006, 13.32.26
volevo fare un piccolo batch per fare, in un click, il backup di un file in una specifica cartella, dando al file un nome tipo "Backup_2006-12-29".

L'idea era di usare copy o xcopy, ma non riesco ad assegnare al file il nome, con risultati differenti per i due comandi. Tendenzialmente, al momento, uso questo script: echo off
set step1=%DATE%
set step2=%step1:/=-% // (sta cosa non sono sicuro dia i risultati che dovrebbe...)
xcopy *.ext "%USERPROFILE%"\Desktop\Backup_"%step2%".ext /I
set step1=
set step2=
echo on una cosa totalmente barbara che mi da come risultato la copia del file all'interno di una cartella con un nome tipo: Backup_2006-12-29

Xtefano
29-12-2006, 15.03.32
Beh ... basta mettere al posto giusto gli apici ... :)

xcopy *.ext "%USERPROFILE%\Desktop\Backup_%step2%.ext" /I

Personalmente userei una variabile sola:
set step1=%DATE%
set step1=%step1:/=-%



Edit: se vuoi vedere "cosa succede" prova ad eseguire il batch mettendo ECHO davanti a xcopy ;)


HTH


Byez

Stefano

borgata
29-12-2006, 15.45.31
Avevo gi provato gli apici in ogni possibile posizione... ma nulla!
Hai fatto la prova? A me semplicemente... non copia alcun file!

Per la doppia variabile... solo il residuato delle prove che stavo facendo;)

borgata
29-12-2006, 16.25.10
ce l'ho fatta! grazie ;)

Le virgolette mi davano problemi con xcopy, ma tornando a copy tutto andato apposto!
Mi sono accorto di un ulteriore problema... la data era in formato italiano, inadatta all'ordinamento. Ecco alla fine il codice definitivo:
echo off
set step1=%DATE:~-4%-%DATE:~3,2%-%DATE:~0,2%
copy nomefile.ext "%USERPROFILE%\Desktop\Backup_%step1%.ext"
set step1=
echo on

alankanz
17-08-2017, 18.08.11
Salve a tutti,
scusate se riprendo un vecchio post, ma non volevo aprire un post uguale ^_^

Ma se invece io avessi una serie di file .xls in una cartella e li dovessi spostare e rinominare da "numero_moduli_cluster.xls" in "numero_moduli_cluster_datadioggi.xls"

Vi avverto che di batch non conosco praticamente quasi nulla, quindi se potete aiutarmi dovete sapere che sono un completo imbranato.

Grazie in anticipo