Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Dateien innerhalb einer For-Schleife löschen per Batch-Datei

Frage Entwicklung Batch & Shell

Mitglied: Freitod

Freitod (Level 1) - Jetzt verbinden

16.10.2009 um 11:56 Uhr, 7486 Aufrufe, 1 Kommentar

Hallo,

da ich hier in diesem Forum schon des öfteren auf Hilfreiche Antworten gestossen bin, stelle ich nun erstmals eine eigene Frage.

Die Situation ist folgende:

Ich muss innerhalb eines Ordners (D:\scanner\BKIT_D030\teste\)sämtliche Dateien, welche sich in den Unterordnern dieses Ordners befinden mit Hilfe einer Batch-Datei löschen. Allerdings sollen hierbei bestimmte Ordner ignoriert werden. Die Ordner, welche geleert werden sollen, habe ich in eine externe Text-Datei geschrieben, da man in einer Batch-Datei ja keine richtigen Arrays definieren kann.

Hier mein Lösungsansatz:

@echo off & setlocal EnableDelayedExpansion

set pfad1=D:\scanner\BKIT_D030\teste\%%i

for /f %%i in (D:\test\Verzeichnisliste.txt) do (
for /D %%i in (%pfad1%\*) do (
del /S /Q "%%i"
)
)

In der Verzeichnisliste.txt stehen die Ordnernamen, von den Ordnern, welche geleert werden sollen. Sie sieht in etwa so aus:

folder1
folder2
folder3
usw...

Die For-Schleife habe ich von einem anderen Programm-Teil kopiert, in dem ich die Unterordner der Unterordner lösche (nicht leere). Das hat da auch so weit geklappt. Allerdings weiss ich nicht, wie ich es realisieren kann, dass in der obigen For-Schleife die Dateien der Unterordner gelöscht werden.
Das Programm an sich ist noch ein wenig umfangreicher und auch so weit fertig. Nur an dieser Kleinigkeit hapert es noch.

Über eine Antwort würde ich mich sehr freuen und wenn ihr Fragen habt, werde ich das ganze gerne ein wenig näher erläutern.
Mitglied: Freitod
16.10.2009 um 13:10 Uhr
Ich hab die Lösung selbst gefunden. War mein Fehler. Die Syntax war falsch.
In der inneren For-Schleife muss das /D entfernt werden.

so:
01.
@echo off & setlocal EnableDelayedExpansion 
02.
 
03.
set pfad1=D:\scanner\BKIT_D030\teste\%%i 
04.
 
05.
for /f %%i in (D:\test\Verzeichnisliste.txt) do ( 
06.
     for %%i in (%pfad1%\*) do ( 
07.
           del /S /Q "%%i" 
08.
09.
)
statt so:
01.
@echo off & setlocal EnableDelayedExpansion 
02.
 
03.
set pfad1=D:\scanner\BKIT_D030\teste\%%i 
04.
 
05.
for /f %%i in (D:\test\Verzeichnisliste.txt) do ( 
06.
     for /D %%i in (%pfad1%\*) do ( 
07.
           del /S /Q "%%i" 
08.
09.
)
Trotzdem danke an all die User, die mir schon mit ihren Antworten in anderen Threads weiter geholfen haben.



[Edit Biber] Codeformatierung nachgetragen. [/Edit]
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Verschachtelte For Schleife für Batch Neuling (3)

Frage von yperiu zum Thema Batch & Shell ...

Batch & Shell
gelöst Verlinkung erstellen Batch Datei mit for Schleife (2)

Frage von rusdav zum Thema Batch & Shell ...

Batch & Shell
gelöst For Schleife für Abgleich mit Text-Datei und Unterverzeichnisse (4)

Frage von grisur zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Problem bei einer For Schleife (2)

Frage von Juergen42 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(5)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(5)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Viren und Trojaner

Neue Magazin Ausgabe: Malware und Angriffe abwehren

Information von Frank zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Windows Systemdateien
Warum System auf "C:" (29)

Frage von DzumoPRO zum Thema Windows Systemdateien ...

LAN, WAN, Wireless
Cisco SG200: Auf bestimmtem vLAN bestimmte TCP-Ports sperren (19)

Frage von SarekHL zum Thema LAN, WAN, Wireless ...

Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Batch & Shell
gelöst Batch um Benutzer aus Sitzung abzumelden (15)

Frage von zeroblue2005 zum Thema Batch & Shell ...