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 Batch - Ordner löschen - mit Platzhalter

Mitglied: ebimail

ebimail (Level 1) - Jetzt verbinden

23.12.2007, aktualisiert 18.10.2012, 17939 Aufrufe, 9 Kommentare

Hey,

da hätte ich noch eine Frage,

könnte man folgenden Code nicht einfacher gestalten? Wieso kann man keine Ordner löschen indem man sie auch mit Platzhaltern identifiziert?

Hier ist mein alternativ Code:
01.
@echo off 
02.
Setlocal EnableDelayedExpansion 
03.
 
04.
FOR /F %%i in ('dir /b "alte_Sicherung*"') do ( 
05.
set Name=%%i && del !Name! /F /S /Q && RMDIR !Name!/S /Q 
06.
)
Liebe Grüße
Mitglied: TuXHunt3R
23.12.2007 um 22:07 Uhr
Solche Sachen habe ich auch schon probiert, bei mir hat es auch nie geklappt. Musste das Ganze auch immer mit einem dir und einer FOR-Schleife lösen. Schick doch mal eine PN an Biber oder bastla [edit] mit einem Link zu diesem Beitrag drin [/edit], eventuell wissen unsere allseits geliebten Batch-Götter mehr.
Bitte warten ..
Mitglied: Dani
23.12.2007 um 22:07 Uhr
Abend ebimail,
wenn du nur Verzeichnisse löschen möchtest, kannst du doch den del - Befehl vergessen.

So sollte es auch gehen:
01.
@echo off 
02.
for /f %%i in ('dir /b "alte_Sicherung*"') do rmdir /s /q "%%i"
Grüße
Dani
Bitte warten ..
Mitglied: ebimail
23.12.2007 um 22:10 Uhr
Ich möchte aber neben den Verzeichnissen auch die Dateien löschen, deswegen beide Befehle.

Liebe Grüße


Würde mich freuen wenn jemand noch eine Idee hat.
Bitte warten ..
Mitglied: future.former
23.12.2007 um 22:24 Uhr
ich kann zwar an dieser stelle nicht weiterhelfen, aber wo finde ich eine komplette dokumentation über die batch-sprache ?
Bitte warten ..
Mitglied: bastla
24.12.2007 um 07:55 Uhr
Hallo ebimail!

Mit der von Dani vorgeschlagenen Zeile werden natürlich auch die in den zu löschenden Verzeichnissen enthaltenen Dateien gelöscht - bitte einmal testen.

Der Ordnung halber vielleicht noch der Hinweis, dass mit dem zusätzlichen "dir"-Schalter "/ad" die Schleife nur Verzeichnisse behandelt, was Du einfacher auch mit "for /d" haben kannst:
01.
for /d %%i in ("alte_Sicherung*.*") do rd /s /q "%%i"
Grüße
bastla
Bitte warten ..
Mitglied: bastla
24.12.2007, aktualisiert 18.10.2012
Hallo future.former!

Als Ansatzpunkt kannst Du in der Windows-Hilfe nach dem Stichwort "cmd" suchen (vor allem auch die "Ergebnisse der Volltextsuche" beachten).

Hier im Forum findest Du neben einigen Links unter Batch & Shell zB diesen Kommentar (mit Zusatznutzen in Form eines Batches zum Aufruf der Windows-Hilfe von der Kommandozeile) von Biber, dessen einschlägige Tutorials ich ebenfalls ausdrücklich empfehlen möchte.

Grüße
bastla
Bitte warten ..
Mitglied: ebimail
24.12.2007 um 13:59 Uhr
01.
for /d %%i in ("alte Sicherung*.*") do rd /s /q "%%i" 

Wohw! Vielen Dank!

1) warum geht das nur mit *.* und warum reicht nicht *

2) warum ist hier kein "delims=" nötig?

3) Vll. könnt ihr mir ja noch erklären warum ich bei meinem Code immer das Problem hatte, das am Ende des "gefundenen Verzeichnisses" immer noch ein Leerzeichen dran war, welches ich erst wegmachen musste um den del. befehl nutzen zu können?

01.
FOR /F "delims=" %%i in ('dir /b "alte Sicherung*"') do ( 
02.
set Name=%%i && del "!Name:~0,27!" /F /S /Q && RMDIR "!Name:~0,27!" /S /Q 
03.
)
Liebe Grüße
Bitte warten ..
Mitglied: bastla
24.12.2007 um 14:11 Uhr
Hallo ebimail!

1) Sollte auch mit * funktionieren, aber wenn nichts gegen *.* spricht, tendiere ich zu dieser Schreibweise.

2) Hier wird kein "for /f" verwendet.

3) Versuch es mit zusätzlichen Anführungszeichen - etwa so:
01.
FOR /F "delims=" %%i in ('dir /b "alte Sicherung*"') do ( 
02.
set "Name=%%i" && del "!Name:~0,27!" /F /S /Q && RMDIR "!Name:~0,27!" /S /Q 
03.
)
Diese (undokumentierte) Schreibweise
01.
set "Variable=Wert"
habe ich (natürlich) erstmals bei Biber gesehen und verwende sie fast ausnahmslos. Ihr Vorteil ist, dass Werte mit enthaltenen (inklusive am Ende befindlichen) Leerstellen "zusammengehalten" werden, ohne die Anführungszeichen ebenfalls in die Variable übernehmen zu müssen, was gelegentlich (zB für eine "token"-Zerlegung) durchaus nützlich sein kann. Negative Nebenwirkungen sind mir bisher nicht aufgefallen.

Grüße
bastla
Bitte warten ..
Mitglied: ebimail
26.12.2007 um 16:07 Uhr
Ich danke vielmals!

Liebe Grüße!
Bitte warten ..
Ähnliche Inhalte
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
Reg query wert als platzhalter in batch
Frage von 136298Batch & Shell4 Kommentare

guten morgen, da ich gerade eine phase nach input habe wäre ich dankbar wenn ihr mir hierbei helfen könnt ...

Datenbanken
Platzhalter für VBA Code
gelöst Frage von Dr.CornwallisDatenbanken4 Kommentare

Hi zusammen, viele von euch VBA Cracks werden jetzt bestimmt lachen aber ich schaffe es einfach nicht einen Platzhalter ...

Batch & Shell

Alle Ordner bis auf die letzten 3 per Batch löschen

gelöst Frage von Stefan2733Batch & Shell5 Kommentare

Hallo Zusammen, ja, ich habe hier und mit Google gesucht aber noch keine Lösung für mein Problem gefunden. In ...

Neue Wissensbeiträge
Server-Hardware

Lösung für Ersatz eines defekter Raid-Controllers

Anleitung von wellknown vor 1 StundeServer-Hardware1 Kommentar

Hallo, da ich nichts gefunden habe und selbst eine Lösung brauchte, hier eine kleine Anleitung für alle die vor ...

Windows 10

Kumuative Updates für .NET Framework kommen für Windows 10 V1809

Information von kgborn vor 6 StundenWindows 10

Microsoft hat das Ganze im Beitrag Announcing Cumulative Updates for .NET Framework for Windows 10 October 2018 Update vorgestellt. ...

Sicherheit
Neue IT-Administrator Ausgabe - Endpoint Security
Information von Frank vor 6 StundenSicherheit

Die Endgeräte in Unternehmen stellen das wohl größte Einfallstor für Angreifer dar. Ein geöffneter, infizierter E-Mail-Anhang oder der Besuch ...

Windows Tools

Windows 10 BitLocker Laufwerkverschlüsselung ohne TPM-Chip

Anleitung von Frank vor 7 StundenWindows Tools4 Kommentare

Diese Anleitung zeigt, wie man die Windows BitLocker Laufwerkverschlüsselung ohne TPM-Chip Schritt für Schritt aktiviert. Zwar haben viele Laptops ...

Heiß diskutierte Inhalte
Hyper-V
Windows Serer 2016 Standard virtualisieren
gelöst Frage von fritte87Hyper-V33 Kommentare

Hallo zusammen, ich muss für eine kleine Firma ein entsprechendes neues kleines Konzept bauen. Ich habe einen Server Standard ...

Windows Server
Kann DNS-Einträge nicht finden
gelöst Frage von BPeterWindows Server19 Kommentare

Hallo, wenn ich folgenden Befehl absetze, bekomme ich eine Liste zurück mit allen Einträgen der DNS-Zone. Wenn ich aber ...

Firewall
Externer Zugriff auf Webserver
Frage von KingLouieFirewall12 Kommentare

Hallo zusammen, ich habe folgendes Problem: Ein Kollege muss gelegentlich auf einen Webserver zugreiffen, sowohl von intern als auch ...

Voice over IP
Umstellung Anlagenanschluss ISDN auf IP - Welcher Router?
Frage von ToniSchmidtVoice over IP12 Kommentare

Hallo zusammen, zum Ende des Jahres werden unsere geliebten ISDN Anlagenanschlüsse zwangsweise auf IP Anschlüsse umgestellt. Wir betreiben die ...