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
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, 5458 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Batch Ordner erstellen und verschieben (6)

Frage von Fromeonly zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...