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 per Batch

Mitglied: SKU160974

SKU160974 (Level 1) - Jetzt verbinden

12.03.2009, aktualisiert 09:53 Uhr, 6164 Aufrufe, 11 Kommentare

Ich bin auf der Suche nach einer Möglichkeit, eine bestimmte Datei per Batch-Script zu löschen.

Das Script sollte wie folgt arbeiten:

- Zunächst soll der Inhalt des Verzeichnisses X:\BACKUP in eine Datei (XYZ.TXT) oder Variable geschrieben werden

- Das Script soll nun zum Beispiel die ersten drei Dateien (Zeilen aus der Datei XYZ.TXT oder Variable, siehe oben) überspringen und die vierte Datei löschen.

- Die Anzahl, die übersprungen werden soll kann als Variable zur Batchausführung angefügt werden oder direkt in das Script geschrieben sein.


Wäre nett, wenn mir jemand dabei helfen könnte!!!!!
Mitglied: EvilMoe
12.03.2009 um 10:18 Uhr
Zitat von SKU160974:
Das Script sollte wie folgt arbeiten:

- Zunächst soll der Inhalt des Verzeichnisses X:\BACKUP in eine
Datei (XYZ.TXT) oder Variable geschrieben werden

Also eine Liste der Dateien kann man so erzeugen. Dateien löschen geht mit "delete". Wie man aber die ersten 3 oder 4 Zeilen überspringt weiß ich nicht.
01.
cd X:\BACKUP 
02.
dir /B >> XYZ.txt
Bitte warten ..
Mitglied: bastla
12.03.2009 um 10:47 Uhr
Hallo Steffen1609 und willkommen im Forum!

Ausgehend vom Namen des Verzeichnisses nehme ich einmal an, Du willst alte Sicherungen löschen und nur die X neuesten behalten - in diesem Fall (ansonsten die Sortierung für die Ausgabe des "dir"-Befehles anpassen - siehe dazu "dir /?") sähe der Batch etwa so aus:
01.
@echo off & setlocal 
02.
set "Verz=X:\Backup" 
03.
set /a X=2 
04.
 
05.
for /f "skip=%X% delims=" %%i in ('dir /b /o-d /a-d "%Verz%\*.*"') do echo del "%Verz%\%%i" 
06.
pause
Zum Testen steht vor dem Löschbefehl noch ein "echo" - so wird der Befehl nur angezeigt, aber noch nicht ausgeführt. Wenn Du ernst machen willst, dieses "echo" (und auch "pause") entfernen.

Grüße
bastla
Bitte warten ..
Mitglied: SKU160974
12.03.2009 um 11:23 Uhr
Vielen Dank bastla

Das Script hat mir schon viel weiter geholfen.

Nur habe ich das Ergebnis, dass ja ab den Dateien, die mit "skip" übersprungen werden alle weiteren gelöscht werden.

Ich möchte aber nur die Datei löschen, welche nach dem "skip"-Parameter kommt und die Dateien vorher und nachher erhalten bleiben.

Liebe Grüße

Steffen
Bitte warten ..
Mitglied: bastla
12.03.2009 um 11:27 Uhr
Hallo Steffen1609!

Sorry - hatte nicht genau genug gelesen ...

Versuch es damit:
01.
@echo off & setlocal 
02.
set "Verz=X:\Backup" 
03.
set /a X=2 
04.
set L= 
05.
 
06.
for /f "skip=%X% delims=" %%i in ('dir /b /o-d /a-d "%Verz%\*.*"') do if not defined L set "L=%%i" 
07.
if defined L echo del "%Verz%\%L%" 
08.
pause
Grüße
bastla
Bitte warten ..
Mitglied: SKU160974
12.03.2009 um 12:02 Uhr
Nochmal dankeschön, bastla!!!

Eine Frage:

Die Variable "L" scheint laut Script ein Dateiname zu sein, sehe ich das richtig???
Bitte warten ..
Mitglied: bastla
12.03.2009 um 12:22 Uhr
Hallo Steffen1609!
Die Variable "L" scheint laut Script ein Dateiname zu sein
So ist es - um nur eine Datei zu erfassen, wird die Variable vorweg gelöscht (nur um sicher zu gehen), und ihr dann innerhalb der Schleife nur unter der Voraussetzung, dass sie noch keinen Wert hat (und demzufolge "not defined" ist), ein Wert (ist dann der erste nicht übersprungene Dateiname) zugewiesen - für alle weiteren Schleifendurchläufe gilt, dass die Variable bereits einen Inhalt hat und daher nicht mehr verändert wird.

Um für den Fall vorzusorgen, dass es nicht mehr als X Dateien gibt (und %L% daher keinen Dateinamen enthält), wird nach der Schleife per "if defined" das Löschen davon abhängig gemacht, dass %L% nicht leer ist.

Grüße
bastla
Bitte warten ..
Mitglied: SKU160974
12.03.2009 um 13:04 Uhr
Also wenn ich das Script ausführe bekomm ich als Fehlermeldung:

Das System kann den angegebenen Pfad nicht finden...

Kann es sein, dass in der Zeile 7 bei "%Verz%\%L%" der del-Befehl keinen Dateinamen als Eingabe bekommt?
Bitte warten ..
Mitglied: bastla
12.03.2009 um 13:10 Uhr
Hallo Steffen1609!
Kann es sein, dass in der Zeile 7 bei "%Verz%\%L%" der del-Befehl keinen Dateinamen als Eingabe bekommt?
Der Fehler stammt nicht aus dieser Zeile, da dort nur eine Ausgabe erfolgt (und noch nicht einmal das, wenn %L% leer wäre - siehe oben).
Wenn Du in Zeile 1 das "echo off" auf "echo on" änderst, kannst Du Dir jeden Befehl vor der Ausführung ansehen.
Noch ein Hinweis zum Pfad in Zeile 2: Dieser ist ohne "\" am Ende zu schreiben - auch wenn zB "X:\" gemeint wäre, nur "X:" angeben.

Grüße
bastla
Bitte warten ..
Mitglied: SKU160974
12.03.2009 um 13:15 Uhr
Hab ich auch berücksichtigt.
Wenn ich das Script mit ECHO ON laufen lasse bekomm ich nun folgende Ausgabe:

C:\TEST>set "Verz=C:\TEST"
C:\TEST>set /a X=2
C:\TEST>set L=
C:\TEST>for /F "skip=2 delims=" %i in ('dir /b /o-d /a-d "C:\TEST\*.*"') do if not defined L set "L=%i"
C:\TEST>if not defined L set "L=5.txt"
C:\TEST>if not defined L set "L=4.txt"
C:\TEST>if not defined L set "L=3.txt"
C:\TEST>if not defined L set "L=2.txt"
C:\TEST>if not defined L set "L=1.txt"
C:\TEST>if defined L del "C:\TEST\ "
Das System kann den angegebenen Pfad nicht finden.
C:\TEST>pause
Drücken Sie eine beliebige Taste . . .
Bitte warten ..
Mitglied: bastla
12.03.2009 um 14:18 Uhr
Hallo Steffen1609!

Stelle bitte sicher, dass in Zeile 4 nach dem "=" nichts mehr steht (auch kein Leerzeichen), da ansonsten %L% eben nicht mehr "not defined" wäre ...

Grüße
bastla
Bitte warten ..
Mitglied: SKU160974
12.03.2009 um 14:58 Uhr
Oha, was so'n kleines leeres Zeichen alles für Probleme verursachen kann...

Jetzt klappt es, was wirklich nur das blank gewesen.

Möchte mich echt bedanken bei dir für deine Hilfe!!!!!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Bestimmte Bilder mit Batch löschen
gelöst Frage von hanni007Batch & Shell2 Kommentare

Hallo, seit einigen Tagen bin ich schon als Nichtnutzer in eurem Forum unterwegs. Nun habe ich mich aber entschlossen, ...

Batch & Shell
Ordner löschen per Batch
gelöst Frage von MarcysBatch & Shell3 Kommentare

Hallo, Ich möchte aus einem Verzeichnis einen den Ordner "MC" löschen: C:\Programme\HYP\MC Dies möchte ich per Batch machen. Wie ...

Batch & Shell

Batch Archivierung und löschen von Files

Frage von PeronasBatch & Shell1 Kommentar

Hallo zusammen, ich habe mal eine Frage zu einem Batch-File welches ich zum archivieren von Files benötige. Und zwar ...

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
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 1 TagHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 1 TagRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 2 TagenSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 2 TagenWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Router & Routing
Mikrotik: Routing zwischen Interfaces mit Geräten ohne Gateway
Frage von TonLichtVideoRouter & Routing18 Kommentare

Hallo zusammen, ich komme aus dem Veranstaltungstechnik Bereich und habe zwei Netze um verschiedene Hardware zu Remoten. CONTROL1 192.168.1.0/24 ...

Linux Netzwerk
Raspberry Pi 3: WLAN Power save deaktivieren
Frage von nordie92Linux Netzwerk14 Kommentare

Moin moin, mein Raspberry Pi 3 Model B benötigt eine dauerhaft aktive WLAN-Verbindung. Leider bricht die WLAN-Verbindung nach einigen ...

SAN, NAS, DAS
Entscheidung SAN Dell oder HP
Frage von VincorSAN, NAS, DAS13 Kommentare

Hallo, wir wollen uns für unsere Hyper V Umgebung eine neue SAN Anschaffen. Es laufen 30 VM's darunter, DC; ...

Vmware
Server 2008 r2 vmware terminalserver
Frage von MasterCVmware10 Kommentare

Guten Abend zusammen, ich hoffe , dass einer von euch mir weiterhelfen kann ,bei meinem kack Problem ! Ist ...