matrix-admin
Goto Top

Batch Problem - Löschen von Ordnern mit Datumsangabe im Namen

[Edit Biber Juni 2008]
Beitragstitel ergänzt (ab "-" inkl.) und Beitrag geschlossen.
[/Edit]

Hallo zusammen..

Ich suche eine Lösung für mein Batch Problem!!
Ziel: Mein Backup Skript sollte in der lage sein einen erstellten Ordner [%1\Backup\%date%] definiert zu Löschen oder zu umbenennen, ohne eingabe des Datum, zum Beispiel heute
3 juli 2006, drei tage zurück und Ordner 30.juni 2006 löschen (ohne Datum eingabe!).
Kann mir jemand helfen der schon Erfahrung mit meinem Problem hat, es wäre super face-smile

Freundliche Grüsse
P.M

Edit:

set Quelle="%HOMEDRIVE%\%HOMEPATH%\*.*"
set Ziel="%1\Backup\%date%"

set templog="%temp%\temp.log"
echo .>>%1\backup.log
echo Starte Backup: %date% %time% von %Quelle% nach %Ziel%>>%1\backup.log


md %Ziel%
xcopy %Quelle% %Ziel% /s /v /c /i /f /h /k /o /x /y>>%1\backup.log
echo Starte Überpruefung>>%1\backup.log

start /w windiff.exe -Sdx %templog% -T %Ziel% %quelle%
find "different" %templog%>>%1\backup.log

echo Fertig>>%1\backup.log
start notepad.exe %1\backup.log

Content-Key: 35311

Url: https://administrator.de/contentid/35311

Printed on: April 24, 2024 at 16:04 o'clock

Member: Biber
Biber Jul 03, 2006 at 21:24:29 (UTC)
Goto Top
Moin Matrix-Admin,

da der CMD-Interpreter weder Datums-Dateitypen kennt noch mit Datumswerten rechnen kann, würde ich auf Hilfsmittel zugreifen, die das können. Zum Beispiel JScript oder VBScript.

Bau Dir die paar Zeilen hier an passender Stelle in den Batch ein:
......
::------snipp ....irgendwoImBatch....
....
REM -----
echo wscript.echo dateAdd("d",-3, date())>%temp%\3DaysAgo.vbs  
@For /f %%i in ('cscript //nologo %temp%\3DaysAgo.vbs') do @set "vorvorgestern=%%i"  
@del %temp%\3DaysAgo.vbs
REM ...jetzt sollte in der Variable %vorvorgestern% das richtige Datum stehen.
::---snapp

Und, da VBS ja auch ein M$-höriges Instrument ist, sollte auch die Datumsformatierung mit Deiner (also mit der Ausgabe von %date%) übereinstimmen.

Gruß
Biber

P.S. Bitte Batch-Fragen ruhig in dem Bereich "Batch & Shell" posten.
Einige Entwickler bekommen die Krise, wenn sie im Bereich "Entwicklung" Batch-Fragen entdecken. face-wink
Member: Matrix-Admin
Matrix-Admin Jul 03, 2006 at 21:38:42 (UTC)
Goto Top
Hallo Biber..
Danke für deine Antwort, werde Morgen das Skript testen.

Freundliche Grüsse
P.M
Member: Matrix-Admin
Matrix-Admin Jul 04, 2006 at 08:42:54 (UTC)
Goto Top
Ich habe das Skript nun ausprobiert, bekomme den fehler [das System kann den angegebenen Pfad nicht finden]nur wo ist das Problem ?! face-surprise
Hat jemand eine Idee??


Freundliche Grüsse
P.M

Edit:


set Quelle="%HOMEDRIVE%\%HOMEPATH%\*.*"
set Ziel="y:\Backup\%Date%"
set log= "y:\backup.log"
set vorgestern=02.06.2006

set templog="%temp%\temp.log"
echo .>>%log%
echo .>>%log%
echo Starte Backup: %date% %time% von %Quelle% nach %Ziel%>>%log%


md %Ziel%


REM -----
echo wscript.echo dateAdd("d",-2, date())>%temp%\2DaysAgo.vbs
@for /f %%i in ('cscript //nologo %temp%\3DaysAgo.vbs') do @set "%vorgestern%=%%i"
@del %temp%\3DaysAgo.vbs
REM -----

pause


xcopy %Quelle% %Ziel% /s /v /c /i /f /h /k /o /x /y>>%log%
echo Starte Überpruefung>>%1\backup.log

start /w windiff.exe -Sdx %templog% -T %Ziel% %quelle%
find "different" %templog%>>%log%

echo Fertig>>%log%
start notepad.exe %log%
Member: Biber
Biber Jul 04, 2006 at 10:07:11 (UTC)
Goto Top
Der Inhalt z.B. von %HOMEPATH% ist ein Pfad mit Leerzeichen ("\Dokumente und Sowas\...").
Deshalb muss dann auch später beim xcopy der Pfad %quelle% in Anführungszeichen eingeschlossen werden.
xcopy "%Quelle%" "%Ziel%" /s /v /c ...........


Dann sollte es funktionieren.

Gruß
Biber
Member: Matrix-Admin
Matrix-Admin Jul 04, 2006 at 11:20:06 (UTC)
Goto Top
Danke, werde ich gleich mahl ausprobieren face-smile

Gruss

P.M