Hi zusammen.
Ich hätte gerne ein Script, dass ich über die Tools von Mp3tag starten kann und das leere Ordner in einem Überordner löscht, den ich über Mp3tag Variabeln vorgeben möchte.
Ich glaub ich hab das auch schon geschafft, bin mir nur nicht ganz sicher ob da auch keine Fehler drin ist, weil ich von dieser Art von Programmieren wenig Ahung hab.
Das ganze ist davon abgekupfert:
http://www.computerbase.de/forum/showthread.php?t=704699
Ich hab bei Mp3tag ein Tool gemacht, dass eine .cmd Datei mit dem Code aus dem Link aufruft und die Variabel ".." (also den Pfad Ordners über dem Ordner in dem die Datei liegt).
Eine .bat Datei, wie im Link angegeben, scheint nicht zu funktionieren. Der Unterschied ist mir nicht bekannt. Ich hab einfach ausprobiert.
Ich habe den Code auch leicht umwandeln müssen:
set /p pfad=%1
scheint nicht zu funktionieren, ich wollte das hier der Pfad aus der Variabel gesetzt wird. Aber ich habe %1 dann weiter unten eingfügt, wo eigentlich %pfad% stehen sollte. Das geht dann anscheinend.
Mein Code schaut jetzt so aus:
@echo off
rem ### Pfad, unter dem alle leeren Ordner gloescht werden sollen wird gesetzt ###
set /p pfad=%1
echo Es wurde %pfad% als Pfad angegeben.
echo Starte Loeschvorgang von leeren Ordnern in %pfad%.
rem ### Temporaeres Verzeichnis c:\temp\ wird erstellt, falls es nicht schon existiert. ###
if not exist c:\temp\ md c:\temp\
rem ### Falls noch die Datei c:\temp\tmp.txt existiert, so wird sie geloescht. ###
if exist c:\temp\tmp.txt del /F /Q c:\temp\tmp.txt
rem ### Schreibe alle Ordnerpfade in c:\temp\tmp.txt. ###
dir /AD /b /s %1 >> c:\temp\tmp.txt
rem ### Loesche alle leeren Ordner. ###
FOR /F "delims=" %%i IN (c:\temp\tmp.txt) DO rd "%%i"
echo Es wurde alle leeren Ordner geloescht!
rem ### Loesche die temporaere Datei c:\temp\tmp.txt und ggf. den leeren Ordner c:\temp\ ###
if exist c:\temp\tmp.txt del /F /Q c:\temp\tmp.txt
if exist c:\temp\ rd c:\temp\
pause
Wenn jemand Hinweise, Verbesserungen ode ähnliches hat bin ich dankbar. Ich hoffe ich lösche mir damit nicht ungewollt Teile meiner Musiksammlung. Der erste Teil des Codes ist wahrscheinlich überflüssig, da ich %pfad% ja jetzt nicht definiere sondern direkt einsetze.
Ein Problem, dass ich noch habe: das ganze scheint bei kyrillischen Buchstaben im Ordnernamen nicht zu funktionieren. Leider hab ich jedemenge von überflüssigen leeren Ordnern mit kyrillischen Buchstaben. Sie sind sogar der Hauptgrund warum ich mir so ein Skript gesucht habe. Es erscheint in der Eingabeaufforderung immer diese Zeile:
"Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch."
Wer kann mir da helfen, wie schaffe ich es, dass diese Ordner auch gelöscht werden?
)