PDA

Visualizza la versione completa : [BATCH] Concatenare stringhe


t30n3
19-04-2007, 16:51
E' possibile concatenare stringhe in DOS??

Quello che vorrei fare è rinominare un file con il suo nome originale e la data di oggi, presa però dinamicamente... Tipo così:

ren prova.txt prova20070419.txt

123delphi321
19-04-2007, 17:17
ciao,

da un'occhiata a questo file '.BAT' tramite il quale eseguo una copia di backup creando una nuova cartella con ora e data.

@echo off
:: variables
set drive=c:\CartellaBackup
SET dateNtime="%date:~6,6%-%date:~3,2%-%date:~0,2%_%time:~0,2%-%time:~3,2%"
set backupcmd=xcopy /s /c /d /e /h /i /r /k /y
echo ### Backing up directory...
%backupcmd% "c:\programmi\CartellaOrigine" "%drive%\%dateNtime%"

echo Backup Completato!
@pause

ciao

t30n3
19-04-2007, 17:27
L'ho editato in questo modo:

@echo off
:: variables
set file=c:\a
set ext_file=txt
SET dateNtime="%date:~6,6%-%date:~3,2%-%date:~0,2%_%time:~0,2%-%time:~3,2%"
set backupcmd=ren
echo ### Backing up directory...
%backupcmd% "%file%.%ext_file%" "%file%_%dateNtime%.%ext_file%"

echo Backup Completato!
@pause

ma mi dice Sintassi del comando errata o simili...

123delphi321
20-04-2007, 21:32
ciao,

ho fatto delle prove anche io. per prima cosa ho eliminato il rigo echo off in modo da visualizare i comandi che venivano eseguiti.....

alla fine ho risolto con questo codice.

nota che ho eliminato 'c:\' e anche il simbolo ' " ' che evidentemente comportano errore, quindi fa attenzione al path del file

ciao


:: variables
set file=a
set ext_file=txt
SET dateNtime=%date:~6,6%-%date:~3,2%-%date:~0,2%_%time:~0,2%-%time:~3,2%
set backupcmd=ren
echo ### Backing up directory...
%backupcmd% %file%.%ext_file% %file%_%dateNtime%.%ext_file%

echo Backup Completato!
@pause

123delphi321
20-04-2007, 21:38
ri-ciao! ho risolto ancora meglio cosi:

:: variables
set file=c:\a
set ext_file=txt
SET dateNtime=%date:~6,6%-%date:~3,2%-%date:~0,2%_%time:~0,2%-%time:~3,2%
SET NewFile=a%dateNtime%
set backupcmd=ren
echo ### Backing up directory...
%backupcmd% %file%.%ext_file% %NewFile%.%ext_file%

echo Backup Completato!
@pause

t30n3
23-04-2007, 09:09
ciao, ti ringrazio!!

ho apportato una leggera modifica perché mi andava in errore l'ora. Ecco la mia versione:

:: variables
set file=c:\a
set ext_file=txt
SET dateNtime=%date:~6,6%-%date:~3,2%-%date:~0,2%
SET NewFile=a%dateNtime%
set rencmd=ren
echo ### Backing up directory...
%rencmd% %file%.%ext_file% %NewFile%.%ext_file%

echo Rinomina Completata!
@pause

Loading