gudy
Goto Top

per Skript erstellten Ordner date löschen? Und Original leeren?

Hallo, ich habe mir ein Skript gebastelt was Daten auf eine Externe Platte kopiert. Das kopieren geht ohne Probleme nur wird der Original Pfad nicht geleert:/
In Zeile 8 habe ich es mit del versucht, klappt auch wenn ich das Skript starte, aber nicht wenn ich es per Taskplaner laufen lasse.
@echo off
call stop.cmd
cls
cd\
e:
md %date%
xcopy C:\David\Archive\media\videos\camera\0\* %date%
del C:\David\Archive\media\videos\camera\0\* <C:\backup\JA.TXT 
call start.cmd

wie man sieht erstelle ich mit md %date% ein Ordner, da das Skript jeden tag läuft, würde ich gern den Ordner %date% - 7tage immer löschen, wie geht das denn am besten? hatte es mit dem Programm now.exe versucht leider ohne Erfolg :/

Vielen Dank

Content-Key: 60196

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

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

Member: Dani
Dani May 30, 2007 at 15:54:33 (UTC)
Goto Top
Hallo Gudy!
Also das Problem könnte der Pfad sein. Denn du erstellst den Ordner in gleichen Verzeichnis in der die Batchdatei liegt.

Ich würde es so probieren:
@echo off & setlocal EnableDelayedExpansion
::
set src_dir=C:\David\Archive\media\videos\camera\0
set dest_dir=e:
::
call stop.cmd
cls
::
xcopy "%src_dir%\*" "%dest_dir%\%date%" /e /v /c /i /y  
rmdir "%src_dir%" /s /q  
mkdir "%src_dir%"  
::
:: Falls mehr als 7 Ordner verhanden sind, wird der Älteste gelöscht.
for /f "tokens=1 delims= " %%a in ('dir "%dest_dir%" ^|findstr /l "Datei(en)"') do set anzahl=%%a  
::
if "!anzahl!" == "8" (  
for /f "delims=" %%a in ('dir "%dest_dir%" /b /o-d') do rmdir "%dest_dir%\%%a" /s /q  
)
::
call start.cmd
Ungetestete Skizze...durch die beiden Variablen ist das Ganze einfacher abzuändern.
Ich habe mir erlaubt, deinen Quellcode oben in einen Codeblock zu stecken. Wie das geht, kannst du Formatting instructions in the posts nachlesen.
[Edit 30.05.2007 18:11 Uhr]
Ich habe noch 2 Fehler im obigen Quellcode ausgebügelt.


Gruß
Dani