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

Frage Entwicklung Batch & Shell

GELÖST

Batch - Ordner löschen - mit Platzhalter

Mitglied: ebimail

ebimail (Level 1) - Jetzt verbinden

23.12.2007, aktualisiert 18.10.2012, 17525 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 ...

Windows 7
Batch für User-TEMP-Ordner und Inhalte löschen
gelöst Frage von planetITWindows 72 Kommentare

Hallo, Beim Anmelden des Clients (Windows 7) soll der TEMP-Ordner des jeweiligen angemeldeten User geleert werden. die .bat hinterlege ...

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
Bestimmte Ordner rekursiv per Batch löschen
gelöst Frage von TASKnetBatch & Shell5 Kommentare

Hallo zusammen, ich habe folgendes Problem: Eine Radiologie schickt Dateien und Verzeichnisse auf ein gemapptes Laufwerk. Wir haben dort ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 2 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 2 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 2 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 2 TagenSicherheit10 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Firewall
Penetrationstester-Labor - Firewalls
Frage von Oli-nuxFirewall9 Kommentare

Mich würde interessieren warum man beim Einrichten eines Penetrationstester-Labor (VMs) die Firewall der Systeme deaktivieren soll? Hat das nur ...

Entwicklung
VBS: alle PDF-Dateien in einem Ordner gleichzeitig öffnen
gelöst Frage von JuweeeEntwicklung9 Kommentare

Hallo, ich habe in deiner Ordnerstruktur (.\Tagesberichte\xx.18\) mehrere dynamische PDF-Formulare (mit LCD erstellt). Die Berichtsformulare sind im Layout alle ...

Netzwerkgrundlagen
IPv6 Inter-VLAN Routing
gelöst Frage von clSchakNetzwerkgrundlagen7 Kommentare

Hi ich befasse mich gerade mit der Implementierung von IPv6 was bisher (in einem VLAN) korrekt funktioniert inkl. DNS ...