Win32 batch - Backup script

Pagina: 1
Acties:

  • Pim.
  • Registratie: Mei 2001
  • Laatst online: 07-08 06:58

Pim.

Aut viam inveniam, aut faciam

Topicstarter
Ik draai voor een rc5 groep de proxy en nu wil ik onder Win2k 2x per dag de proxy out-buffer veilig stellen.
de buffer staat: c:\perproxy\pprc5out.rc5, en de backup moet naar c:\backup\pprc5out.rc5

Het mooiste zou zijn als iemand een script wist dat 1 van de volgende dingen kan:

1. controleren of het bestand wat gekopieerd wordt groter is als het bestaande bestand (anders is er de kans dat een corrupt bestand over de goede backup wordt gezet), het bestand kopieren, er evt. een datum aanhangen.

of

2. het bestand kopieren met een tijdnotatie erachter (zodat er dus een bestand bij komt in de backupdir. met een andere naam)

Ik heb dit script van iemand gekregen maar helaas geeft die een foutmelding:
code:
1
2
3
4
5
6
7
FOR /F "tokens=2,3,4 delims=- " %%i IN ('date /t') DO SET DAG=%%k%%j%%i
for %i in (c:\temp\mce.zip) do set grootte = %~zi
for %i in (c:\backup\%DAG%outmce) do set grootte2 = %~zi
if %grootte% gtr %grootte2% goto doe_iets
exit
:doe_iets
COPY c:\temp\mce.zip c:\backup\%DAG%outmce

en die geeft deze foutmelding
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
C:\>FOR /F "tokens=2,3,4 delims=- " %i IN ('date /t') DO SET DAG=%k%j%i

C:\>SET DAG=20020110
The following usage of the path operator in batch-parameter
substitution is invalid: %~zi


For valid formats type CALL /? or FOR /?
The syntax of the command is incorrect.

C:\>for \temp\mce.zip) do set grootte = rootte = %~zi

C:\>

en ik heb zowel op dit forum als op het net geen oplossing kunnen vinden, ik ben dan ook geen scriptheld :'(

"The trouble with quotes from the Internet is that you can never know if they are genuine." - Elvis Presley | Niet met me eens ? DM ME


  • Pim.
  • Registratie: Mei 2001
  • Laatst online: 07-08 06:58

Pim.

Aut viam inveniam, aut faciam

Topicstarter
^kick ????^

"The trouble with quotes from the Internet is that you can never know if they are genuine." - Elvis Presley | Niet met me eens ? DM ME


  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Op donderdag 10 januari 2002 23:10 schreef -ProXy- het volgende:
code:
1
2
FOR /F "tokens=2,3,4 delims=- " %%i IN ('date /t') DO SET DAG=%%k%%j%%i
for %i in (c:\temp\mce.zip) do set grootte = %~zi
in de eerste regel gebruik je, correct, %%i als parameter, in de 2e regel niet meer, vervang die 2e regel eens door:
code:
1
for %%i in (c:\temp\mce.zip) do set grootte = %%~zi

en het zou moeten werken.

(even uit de for /? help:)
To use the FOR command in a batch program, specify %%variable instead
of %variable. Variable names are case sensitive, so %i is different
from %I.

  • Pim.
  • Registratie: Mei 2001
  • Laatst online: 07-08 06:58

Pim.

Aut viam inveniam, aut faciam

Topicstarter
elevator: bedankt man.... ik heb het aan de gang (met de bestanden die daadwerkelijk gekopieerd moeten worden, dit is het script:
code:
1
2
3
4
5
6
7
8
9
FOR /F "tokens=2,3,4 delims=- " %%i IN ('date /t') DO SET DAG=%%k%%j%%i
For %%i in (c:\backup\%DAG%outrc5) do set grootte  = %%~zi
For %%i in (c:\perproxy\pprc5out.rc5) do set grootte2  = %%~zi
if %%grootte2%% gtr %%grootte%% goto doe
exit


:doe
COPY c:\perproxy\pprc5out.rc5 c:\backup\%DAG%outrc5

"The trouble with quotes from the Internet is that you can never know if they are genuine." - Elvis Presley | Niet met me eens ? DM ME