samedi 10 mars 2018

Batch File Random Syntax Errors

like I told in the question I get an unexplainable Syntax error from my Code.

I've bin searching for a program which automatically backups some saves every 5 Minutes. After I hadn't found anything which belongs to my purposes I decided to do it my own.. in Batch.

Here's the code:

@echo off

set name=Backup

for /f "tokens=1-3 delims=/:" %%a in ("%TIME%") do (set mytime=%%a.%%b,%%c)
set mytime=%mytime:~0,8%
set backupname=%name%_%date%_%mytime%

set dir1= (here comes the source directory)
set dir2= (here comes the target directory)

set countvar=1

:start

For /f "tokens=1-3 delims=/:" %%a in ("%TIME%") do (set mytime=%%a.%%b,%%c)
set mytime=%mytime:~0,8%

set backupname=%name%_%date%_%mytime%
set dir2=C:\Users\david\Desktop\Backups\%backupname%
echo Backupordner: %backupname%
ROBOCOPY %dir1% %dir2%

if "%countvar%" == "1" (
    set VarDir1=%dir2%
)
if "%countvar%" == "2" (
    set VarDir2=%dir2%
)
if "%countvar%" == "3" (
    set VarDir3=%dir2%
    rmdir /S /Q "%VarDir1%"
    set VarDir1=%VarDir2%
    set VarDir2=%VarDir3%
    set /a countvar=%countvar%-1
)
set /a countvar=%countvar%+1

@ping -n 30 localhost> nul

goto start

What it basically does is copying the files from the source directory into a folder, which is named after the date and time, in the target directory.

Caused by the high size of the backuped files I decided to add a feature, which deletes the third oldest save, so there are two remaining, newer save-files.

This is where the problem occurs: The first two "deletes" work properly, the third "delete" causes a syntax error. Everything runs normal after it.

Does anybody have an idea where the problem could be?

Aucun commentaire:

Enregistrer un commentaire