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

Batch zum entfernen von leeren Ordnern mit Unterverzeichnisse aus einem bestimmten Pfad

Frage Entwicklung Batch & Shell

Mitglied: -LangA-

-LangA- (Level 1) - Jetzt verbinden

17.07.2008, aktualisiert 18.07.2008, 4212 Aufrufe, 2 Kommentare

Hallo miteinander

Ich habe bereits eine "fast" Lösung für mein Problem gefunden. Da ich mich aber mit VB Scripten in Batchdateien nicht auskenne, komme ich so nicht weiter.

Ich möchte das folgende Script soweit erweitern, dass ich vorher sagen kann, welches Stammverzeichnis überprüft werden soll. Z.B. C:\Temp

01.
@echo off & setlocal  
02.
set D=%temp%\DelEmptyFolders.vbs 
03.
echo DeleteEmptyFolders(CreateObject("Scripting.FileSystemObject").GetFolder(WScript.Arguments(0)))>%D%  
04.
echo Sub DeleteEmptyFolders(Ordner):For Each Unter In Ordner.SubFolders:DeleteEmptyFolders(Unter)>>%D% 
05.
echo If (Unter.SubFolders.Count+Unter.Files.Count)=0 Then:Unter.Delete:End If:Next:End Sub>>%D%  
06.
cscript //nologo %D% "%~dp0"  
07.
del %D%
Das Script arbeitet sonst tadellos und löscht auch fleißig alle leeren Ordner.

Kann mir dort jemand weiterhelfen und das Script um die fehlenden Zeilen ergänzen?

Vielen Dank im voraus!

-LangA-
Mitglied: Biber
17.07.2008 um 18:24 Uhr
Moin -LangA-,

willkommen im Forum.

Im Moment werden alle leeren Unterordner gelöscht, die unterhalb des Speicher/Lagerortes der Batchdatei eigentlich neimand stören.

Das regelt diese Zeile:
01.
... 
02.
cscript //nologo %D% "%~dp0"  
Dort steht (nur) drin, dass der generierte VBS-Schnipsel mit dem Parameter "%~dp0" aufgerufen werden soll. Und "%~dp0" heißt nur "Drive/Path der getarteten Batchdatei".

Die einfachste Alternative wäre wohl, wenn..
  • wenn die Batchdatei mit einem Parameter aufgerufen wird, dann "lösche unterhab dieses Parameters" %1
  • wenn ohne Parameter aufgerufen, dann Verhalten wir bisher... unterhalb des Batchdatei-Verzeichnisses.

Änderung:
01.
... 
02.
If "%~1" =="" cscript //nologo %D% "%~dp0" 
03.
If "%~1" NEQ "" cscript //nologo %D% "%~1" 
04.
...
Grüße
Biber
Bitte warten ..
Mitglied: -LangA-
18.07.2008 um 08:52 Uhr
Vielen Dank! Da hätte ich auch selbst drauf kommen können.

Grüße
-LangA-
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Batch: alle Ordner mit einem bestimmten Namen kopieren (4)

Frage von Remsboys zum Thema Batch & Shell ...

Batch & Shell
gelöst Per Batch nur neueste Datei mit bestimmten Dateianfang kopieren (3)

Frage von Peter32 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch soll an einem bestimmten Datum eine Website öffnen (3)

Frage von Yanmai zum Thema Batch & Shell ...

Neue Wissensbeiträge
Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(2)

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 ...

Cloud-Dienste
gelöst Bitcoins minen über Nacht? (16)

Frage von 1410640014 zum Thema Cloud-Dienste ...