Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Löschen von Dateien zwischen zwei Uhrzeiten per Batch (XP, Server 2003)

Frage Entwicklung Batch & Shell

Mitglied: theuncle

theuncle (Level 1) - Jetzt verbinden

06.11.2010, aktualisiert 16:27 Uhr, 4800 Aufrufe, 6 Kommentare

Benötige Batchdatei zum Löschen von Dateien in einem bestimmten Zeitraum (eines Tages). (XP, Server 2003)

Ola Leutz,

Vorgeschichte:
Wir fummeln seit Jahren an einem Batchpaket für unsere Server herum, welche wir bereits geraume Zeit für die unterschiedlichsten Zwecke einsetzen. Fast alles, was wir für eine schnelle Administration bzw. Sonderwünsche benötigen, ist bereits erstellt, welches nicht zuletzt auch Euch zu verdanken ist (Gruss an den Biber).
Man kann sich ja fast alles aus dem Forum holen, was man braucht. Nun hat ein Techniker letztens noch ein paar schöne Ideen gehabt und dafür brauche ich u.a. eine speziell umgesetzte Funktion in einer Batch mit Standardbefehlen.

Bisher nicht in der Form gefunden oder von mir zu schlecht kombiniert, i.e. nicht lauffähig ist folgende Problemstellung:

Löschen von Dateien in einem Verzeichnis (alternativ rekursiv mit Unterverzeichnissen) ZWISCHEN zwei anzugebenden UHRzeiten (Dateien sind zumeist alle von einem Tag).
Die Uhrzeiten können evtl. per SET (in der Batch) oder Parameter (%1, %2) in die Batch einfliessen.

Ihr würdet uns, wie immer, sehr helfen ... vielen Dank im voraus.

MfG theuncle
Mitglied: bastla
06.11.2010 um 17:58 Uhr
Hallo theuncle!

Ja nach dem von Euch verwendeten Datums-/Zeitformat sind ev Anpassungen erforderlich, aber als Test an der Kommandozeile könnte das schematisch etwa so gehen:
for %i in ("D:\Das Verzeichnis\*.*") do @for /f "tokens=2" %a in ("%~ti") do @if "%a" geq "07:00" @if "%a" leq "12:00" @echo %a --^> "%i" wird geloescht
Hier würden ohne Berücksichtigung des Datums alle zwischen (inklusive) "07:00" und "12:00" (die Grenzen können/sollten natürlich als Variable angegeben werden) zuletzt geänderten Dateien erfasst.

Rekursiv wird's bei Bedarf mit "for /r" ...

Grüße
bastla
Bitte warten ..
Mitglied: 90776
06.11.2010 um 18:03 Uhr
Hallo

nach Bastla noch den reinen Zeitcode

01.
@echo off 
02.
 
03.
echo. 
04.
echo Format muss 00:00 sein! 
05.
echo. 
06.
 
07.
set /p time1=Bitte Erste  Zeit eingeben (von):  
08.
set /p time2=Bitte Zweite Zeit eingeben (bis):  
09.
 
10.
if %time1% LSS 00:00 goto Fehler 
11.
if %time2% LSS 00:00 goto Fehler 
12.
if %time1% GTR 23:59 goto Fehler 
13.
if %time2% GTR 23:59 goto Fehler 
14.
if not %time1:~2,1% EQU : goto Fehler 
15.
if not %time2:~2,1% EQU : goto Fehler 
16.
if not DEFINED time1 goto Fehler 
17.
if not DEFINED time2 goto Fehler 
18.
 
19.
 if %time:~0,2%:%time:~3,2% GEQ %time1% if %time:~0,2%:%time:~3,2% LEQ %time2% ( 
20.
  goto Process 
21.
   ) else ( 
22.
    Goto Fehler 
23.
24.
 
25.
:Fehler 
26.
echo FEHLER 
27.
pause 
28.
exit 
29.
 
30.
:Process 
31.
echo OK 
32.
pause
einfach unter Process die gewünschten Befehle einfügen
Bitte warten ..
Mitglied: theuncle
08.11.2010 um 18:27 Uhr
Hallo Bastla, hallo switcher94,

erst einmal vielen herzlichen Dank für die wahnsinnig schnell zur Verfügung gestellte Lösung. Bin noch nicht wirklich zum Ausprobieren gekommen.

Werde mich höchstwahrscheinlich morgen dran setzen und den Code in unsere Batch integrieren. Gebe Euch natürlich noch ne Rückmeldung. Wollte mich nur schon einmal zwischendurch melden, um mich zu bedanken...

CU Theuncle
Bitte warten ..
Mitglied: theuncle
17.11.2010 um 11:08 Uhr
Hallo Bastla,

ich bin nun endlich zum Ausprobieren Deines Scripts/ Befehls gekommen. Entweder habe ich noch einen Schreibfehler drin oder habe die Syntax nicht kapiert.
Ob mit oder ohne aktivierte Befehls-Erweiterung (setlocal EnableDelayedExpansion) erscheint bei Ausführung folgende Fehlermeldung.
Info: e:\Test\ ist mein Proof-Ordner. Ich möchte es zum Testen in Windows XP Prof. in der Eingabeaufforderung nutzen. Die Fehlerausgabe ist tatsächlich abgeschnitten, i.e. fängt mit "\test .... an.

"\test\*.*") do @for /f "tokens" ist syntaktisch an dieser Stelle nicht verarbeitbar.

Der Befehl ist fast identisch von o. übernommen und sieht so aus:

for %i in ("e:\test\*.*") do @for /f "tokens=2" %a in ("%~ti") do @if "%a" geq "07:00" @if "%a" leq "16:00" @echo %a --^> "%i" wird geloescht

Klar ist auch, dass ich bei einwandfreier Auflistung der gewünschten Dateien den Echo-Abschnitt durch meine Lösch-Befehle ersetze )))))))
Evtl. findet das geübtere Auge ja schnell den Fehler.

Vielen Dank schon einmal im voraus

The Uncle
Bitte warten ..
Mitglied: bastla
17.11.2010 um 13:25 Uhr
Hallo theuncle!

Falls Du den Oneliner als Batch verwenden willst, musst Du alle Prozentzeichen bei "%a" und "%i" (auch für "%~ti" wäre das dann "%%~ti") verdoppeln - direkt in der CMD-Shell eingegeben (und nur mit an mein System angepasstem Pfad von "e:\test\*.*") funktioniert Deine Zeile bei mir wie gewünscht ...

Grüße
bastla
Bitte warten ..
Mitglied: theuncle
17.11.2010 um 17:46 Uhr
Hallo Bastla,

wir nennen es ein Schicht 8 Problem. Oh oh, das darf hier auch kein anderer von unserem Team lesen ... *schäm.
Es läuft alles perfekt. Vielen Dank für alles ....

*klick auf gelöst ....

Cu the uncle
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch vergleich von zwei dateien
gelöst Frage von realdavegerBatch & Shell6 Kommentare

Hallo, nach Jahrelangem zugucken, habe ich jetzt schlussendlich eine Frage welche ich selbst stelle. Ich versuche 2 zeiten aus ...

Batch & Shell
Dateien gefiltert nach Zeitraum (Uhrzeit) per Powershell bzw. Batch löschen
gelöst Frage von 117643Batch & Shell5 Kommentare

Hallo, ich muss Dateien löschen die in einem bestimmten Zeitraum (11:50 und 12:30 am 20.10.2015) geändert wurden löschen. Kann ...

Batch & Shell
Batch datei zum duplikate löschen
gelöst Frage von M4xx-oneBatch & Shell5 Kommentare

Hallo Gemeinde ich hab ein problem ich möchte mittels batchdatei eine TXT datei aufräumen die datei hat folgende eintäge ...

Batch & Shell
Batch Datei zum löschen des Papierkorbes
Frage von Munin92Batch & Shell3 Kommentare

Guten Abend liebe Community, ich hoffe das ich in diesem Forum für diese Frage richtig bin. Und zwar habe ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 12 MinutenWindows 10

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 1 StundeSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 16 StundenInternet2 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 19 StundenDSL, VDSL1 Kommentar

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement21 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...

Windows Server
Anmeldung direkt am DC nicht möglich
Frage von ThomasGrWindows Server16 Kommentare

Hallo, ich habe bei unserem Server 2016 Standard ein Problem. Keine Ahnung wie das auf einmal passiert ist. Ich ...

TK-Netze & Geräte
VPN-fähige IP-Telefone
Frage von the-buccaneerTK-Netze & Geräte14 Kommentare

Hi! Weiss noch jemand ein VPN-fähiges IP-Telefon mit dem man z.B. einen Heimarbeitsplatz gesichert anbinden könnte? Habe nur einen ...