Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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
Kommentar vom Moderator Biber am 17.05.2010 um 12:41:04 Uhr
Beitrag verschoben von "Tools & Utilities" nach "Batch & Shell".
GELÖST

Batch - Ordner samt Inhalt aus Liste löschen

Frage Entwicklung Batch & Shell

Mitglied: kugelschreiber

kugelschreiber (Level 1) - Jetzt verbinden

17.05.2010, aktualisiert 12:41 Uhr, 5506 Aufrufe, 7 Kommentare

Hallo Ihr Lieben

Ich möchte gerne eine Batch schreiben, welche Dateien in Ordnern löschen soll.
Die Ordner erhält die Batch aus einer TXT Datei "beispiel.txt", welche dort die Ordner als absolute Pfade, eingeschlossen in Hochkommas und pro Zeilen getrennt enthält.
Also zum Beispiel:

"c:\Dokumente und Einstellungen\Ordner 1\"
"c:\Dokumente und Einstellungen\noch_ein_ordner\"
usw.

In der Batch selbst, habe ich versucht durch den u.g. Thread zu adaptieren:

for /f "tokens=1" %%i in ("h:\TEST\backup.txt") do call :loop1 %%i

:loop1

del %1

Jedoch sagt mir die Konsole:

C:\Dokumente konnte nicht gefunden werden

Wahrscheinlich nur ein kleines Problemchen für Euch. aber nach mehreren Recherchen habe ich nur diesen Thread gefunden, der mir wenigstens den Weg zeigte.

Für Eure Hilfe bin ich Euch dankbar!


Gruß Kuli
Mitglied: bastla
17.05.2010 um 12:09 Uhr
Hallo kugelschreiber!

Falls nur gelöscht werden soll, ist das Unterprogramm gar nicht nötig.
Wenn Du den Dateinamen der Textdatei unter Anführungszeichen stellst, wird dieser als Text interpretiert - damit dies nicht geschieht, noch ein "usebackq" verwenden.
Um auch noch die Zerlegung anhand der Leezeichen im gelesenen Dateinamen zu vermeiden, per "delims=" festlegen, dass es kein Trennzeichen gibt und daher die Zeile am Stück als %%i zur Verfügung stehen soll.

Daher sollte es so funktionieren:
for /f "usebackq delims=" %%i in ("h:\TEST\backup.txt") do del %%i
Grüße
bastla
Bitte warten ..
Mitglied: kugelschreiber
17.05.2010 um 12:34 Uhr
Hallo bastla!

Erst einmal vielen Dank! Das Script löscht schon mal die Dateien, will aber auch laut Konsole:

cf4cf6c38895c4e09bb5e728fcbe142c - Klicke auf das Bild, um es zu vergrößern

etwas bestätigt haben. Wenn dies die Frage nach dem Löschen des Ordner ist, dann soll dies ausdrücklich nicht passieren, sondern es sollen nur die Dateien und Ordner/Unterornder welche in den angegegbenen Ordner aus der TXT Datei drin steht gelöscht werden.

Vielen vielen Dank!
Bitte warten ..
Mitglied: LotPings
17.05.2010 um 12:52 Uhr
Zitat von bastla:
Daher sollte es so funktionieren:
for /f "usebackq delims=" %%i in ("h:\TEST\backup.txt") do del %%i 
> 
Hallo bastla,

wenn es um die von Kugelschreiber genannten Beispiele "c:\Dokumente und Einstellungen\Ordner 1\" geht, sollte man aber besser Del "%%i" nehmen.

@kugelschreiber, um die Abfrage zu verhindern, nimm die Option /Q hinzu (ggfs auch noch /F und /A)

Gruß
LotPings
Bitte warten ..
Mitglied: kugelschreiber
17.05.2010 um 13:52 Uhr
Ihr seid einfach Klasse!

Danke. Hat funktioniert.

Bevor ich aber hier Schließe, möchte ich natürlich noch wissen, wo der Unterschied liegt?

1) Ich kannte die Option /q, die besagt, dass ich das Löschen nicht bestätigen muss, aber was ist dann /Q oder ist gross klein egal bei Schaltern?
2) sollte man besser Del "%ii" nehmen -> Hatte er doch oder habe ich Tomaten auf den augen?

Danke Euch vielmaß!
Bitte warten ..
Mitglied: bastla
17.05.2010 um 14:05 Uhr
Hallo kugelschreiber und LotPings!
1) Ich kannte die Option /q, die besagt, dass ich das Löschen nicht bestätigen muss, aber was ist dann /Q oder ist gross klein egal bei Schaltern?
Macht in Batch grundsätzlich keinen Unterschied ...
2) sollte man besser Del "%ii" nehmen -> Hatte er doch oder habe ich Tomaten auf den augen?
Unter der Voraussetzung, dass die Aussage
als absolute Pfade, eingeschlossen in Hochkommas und pro Zeilen getrennt
so, wie in den beiden Beispielzeilen oben dargestellt, gemeint ist, sind die Anführungszeichen um %%i herum nicht nötig (die Schreibweise mit 2 * "%" und 1 x "i" allerdings doch ) ...

Grüße
bastla
Bitte warten ..
Mitglied: LotPings
17.05.2010 um 14:56 Uhr
Zitat von bastla:
als absolute Pfade, eingeschlossen in Hochkommas und pro Zeilen getrennt
so, wie in den beiden Beispielzeilen oben dargestellt, gemeint istt, sind die Anführungszeichen um %%i herum nicht
nötig (die Schreibweise mit 2 * "%" und 1 x "i" allerdings doch ) ...

OK, ok - einigen wir uns auf "%%~i" dann funktioniert es in jedem Fall

Gruß
Bitte warten ..
Mitglied: bastla
17.05.2010 um 14:59 Uhr
OK, ok - einigen wir uns auf "%%~i" dann funktioniert es in jedem Fall
Damit kann ich leben ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Windows 7
gelöst Batch für User-TEMP-Ordner und Inhalte löschen (2)

Frage von planetIT2016 zum Thema Windows 7 ...

Batch & Shell
gelöst Dateien auf der Basis einer Liste löschen (2)

Frage von symei3 zum Thema Batch & Shell ...

Batch & Shell
gelöst Ordner anhand einer Excel-Liste kopieren (6)

Frage von xsto123 zum Thema Batch & Shell ...

Microsoft Office
gelöst Inhalte vieler excel dateien auslesen und als Liste wiedergeben (13)

Frage von tw3aker zum Thema Microsoft Office ...

Neue Wissensbeiträge
Humor (lol)

Wo ist der Fehler auf dem Bild?

(2)

Information von the-buccaneer zum Thema Humor (lol) ...

Windows Update

Offenbar erneutes MS-Update mit Fehlerschleife (2012 R2)

Information von VGem-e zum Thema Windows Update ...

Windows Installation

Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen

(14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Heiß diskutierte Inhalte
Exchange Server
gelöst Proxy Server Settings Cloud + EWS (17)

Frage von SomebodyToLove zum Thema Exchange Server ...

Windows Server
PDF Editor für den Einsatz auf Terminal Servern (16)

Frage von kwame501 zum Thema Windows Server ...

Windows Installation
Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen (14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Virtualisierung
Unterschied zwischen VDI und Terminal Server Lösungen (13)

Frage von tukawi06 zum Thema Virtualisierung ...