msanchez Geschrieben 14. Oktober 2007 Teilen Geschrieben 14. Oktober 2007 Hi Leute, Habe folgende Situation: Ich habe einen Übergeordnenten Ordner (z.B. Test) In diesem Ordner befinden sich mehrere Unterordner (z.B. test1, test5, blau, usw.) in diesen Unterordnern wiederum weitere Unterordner (z.B. orange, weiß...). In allen Ordnern befinden sich Dateien die ich umbenennen will. (z.B. "*jpg.100" in "*jpg", "*jpeg.100" in "*jpeg", "*bmp.100" in "*bmp"). Das umbenennen funktioniert, jedoch nur bei den Ordnern, die im Ordner C:\test liegen. Liegen die Dateien jedoch eine Ordnderstruktur tiefer, oder direkt unter C:\Test, so funktioniert das leider nicht. Was mache ich falsch? Hier mein Batchfile: @ECHO OFF SET verzeichnis=c:\test FOR /F "tokens=*" %%a in ('DIR %verzeichnis% /AD /B') DO ( IF EXIST "%verzeichnis%\%%a\*jpg.100" REN "%verzeichnis%\%%a\*jpg.100" "*jpg" IF EXIST "%verzeichnis%\%%a\*jpeg.100" REN "%verzeichnis%\%%a\*jpeg.100" "*jpeg" IF EXIST "%verzeichnis%\%%a\*bmp.100" REN "%verzeichnis%\%%a\*bmp.100" "*bmp" ) Please Help! Gruß msanchez Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Cadpax Geschrieben 14. Oktober 2007 Teilen Geschrieben 14. Oktober 2007 @ECHO OFF SET verzeichnis=c:\test FOR /F "tokens=*" %%a in ('DIR %verzeichnis% /AD /B') DO ( IF EXIST "%verzeichnis%\%%a\*jpg.100" REN "%verzeichnis%\%%a\*jpg.100" "*jpg" IF EXIST "%verzeichnis%\%%a\*jpeg.100" REN "%verzeichnis%\%%a\*jpeg.100" "*jpeg" IF EXIST "%verzeichnis%\%%a\*bmp.100" REN "%verzeichnis%\%%a\*bmp.100" "*bmp" IF EXIST "%verzeichnis%\*bmp.100" REN "%verzeichnis%\*bmp.100" "*bmp" ) Würde dein Problem mit den Ordnern in dem Stammordner lösen. @ECHO OFF SET verzeichnis=c:\test FOR /F "tokens=*" %%a in ('DIR %verzeichnis% /AD /S /B') DO ( IF EXIST "%%a\*jpg.100" REN "%%a\*jpg.100" "*jpg" IF EXIST "%%a\*jpeg.100" REN "%%a\*jpg.100" "*jpeg" IF EXIST "%%a\*bmp.100" REN "%%a\*jpg.100" "*bmp" IF EXIST "%verzeichnis%\*jpg.100" REN "%verzeichnis%\*bmp.100" "*jpg" IF EXIST "%verzeichnis%\*jpeg.100" REN "%verzeichnis%\*bmp.100" "*jpeg" IF EXIST "%verzeichnis%\*bmp.100" REN "%verzeichnis%\*bmp.100" "*bmp" ) Sollte alle deine Bedingungen erfüllen. Probier einfach mal den Schalter /S dazu. Der führt alle Ordner und Unterordner absolut auf. Habs etz allerdings nicht ausprobier und ich garantiere nicht für Fehler. Mit freundlichen Grüßen, Cadpax Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
msanchez Geschrieben 14. Oktober 2007 Autor Teilen Geschrieben 14. Oktober 2007 Hi Cadpax, Danke für deine Antwort. Das Problem im Stammordner ist mit deinem Tipp gelöst. Der Schalter /S bewirkt leider nichts, hab es auf die unterschiedlichsten Arten probiert. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Cadpax Geschrieben 14. Oktober 2007 Teilen Geschrieben 14. Oktober 2007 Welche Windows Version? Bei mir (XP Prof SP2) gehts ohne Probleme. (eben getestet) *edit* Seh gerade nen Fehler @ECHO OFF SET verzeichnis=Ordner FOR /F "tokens=*" %%a in ('DIR %verzeichnis% /AD /S /B') DO ( IF EXIST "%%a\*jpg.100" REN "%%a\*jpg.100" "*jpg" IF EXIST "%%a\*jpeg.100" REN "%%a\*jpeg.100" "*jpeg" IF EXIST "%%a\*bmp.100" REN "%%a\*bmp.100" "*bmp" IF EXIST "%verzeichnis%\*jpg.100" REN "%verzeichnis%\*jpg.100" "*jpg" IF EXIST "%verzeichnis%\*jpeg.100" REN "%verzeichnis%\*jpeg.100" "*jpeg" IF EXIST "%verzeichnis%\*bmp.100" REN "%verzeichnis%\*bmp.100" "*bmp" echo %%a ) pause So Stimmts. ;-) Echo + pause zur Kontrolle Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
msanchez Geschrieben 14. Oktober 2007 Autor Teilen Geschrieben 14. Oktober 2007 Wenn ich den Schalter /S setzte, dann benennt er mir nur das um, was sich in C:\Test befindet alle Unterordner bleiben unberührt. *Am Kopf kratz* Mit "echo/%%a" zeigt er mir die Unterordner und auch die darin liegenden Ordner an, er erkennts sie also. Aber er benennt mit die Dateien einfach nicht um. Mein System ist WinXP SP2 inkl. alle Updates. Der Code sieht nun folgendermaßen aus. Vielleicht fällt dir noch etwas Ungewöhnliches auf: @ECHO OFF SET verzeichnis=c:\test FOR /F "tokens=*" %%a in ('DIR %verzeichnis% /AD /S /B') DO ( IF EXIST "%verzeichnis%\*gif.100" REN "%verzeichnis%\*gif.100" "*gif" IF EXIST "%verzeichnis%\*jpg.100" REN "%verzeichnis%\*jpg.100" "*jpg" IF EXIST "%verzeichnis%\*jpeg.100" REN "%verzeichnis%\*jpeg.100" "*jpeg" IF EXIST "%verzeichnis%\*bmp.100" REN "%verzeichnis%\*bmp.100" "*bmp" IF EXIST "%verzeichnis%\%%a\*gif.100" REN "%verzeichnis%\%%a\*gif.100" "*gif" IF EXIST "%verzeichnis%\%%a\*jpg.100" REN "%verzeichnis%\%%a\*jpg.100" "*jpg" IF EXIST "%verzeichnis%\%%a\*jpeg.100" REN "%verzeichnis%\%%a\*jpeg.100" "*jpeg" IF EXIST "%verzeichnis%\%%a\*bmp.100" REN "%verzeichnis%\%%a\*bmp.100" "*bmp" echo %%a ) pause Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Cadpax Geschrieben 14. Oktober 2007 Teilen Geschrieben 14. Oktober 2007 Jap. Du verkettest das Verzeichnis mit dem absoluten Pfad. Der dir befehl gibt dir schon den kompletten Pfad zurück.Also c:\test\u1 c:\test\u2 c:\test\u3 .... Du verkettest den noch, das schaut dann letzendlich so aus: c:\test\c:\test\u1 Und zwar in den unteren 4 Zeilen: IF EXIST "%verzeichnis%\%%a\*gif.100" REN "%verzeichnis%\%%a\*gif.100" "*gif" IF EXIST "%verzeichnis%\%%a\*jpg.100" REN "%verzeichnis%\%%a\*jpg.100" "*jpg" IF EXIST "%verzeichnis%\%%a\*jpeg.100" REN "%verzeichnis%\%%a\*jpeg.100" "*jpeg" IF EXIST "%verzeichnis%\%%a\*bmp.100" REN "%verzeichnis%\%%a\*bmp.100" "*bmp" Das %verzeichnis%\ ist hier falsch, da schon in %%a mit drin. Dir dürften auch die kompletten Pfad ausgegeben werden. ;-) Mit freundlichen Grüßen, Cadpax Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
msanchez Geschrieben 14. Oktober 2007 Autor Teilen Geschrieben 14. Oktober 2007 Jawohl das wars! Hab den Wald vor lauter Bäumen nicht gesehen :-) Du hast mir den Sonntag gerettet. Muchas Gracias! Cadpax Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Cadpax Geschrieben 14. Oktober 2007 Teilen Geschrieben 14. Oktober 2007 Kein Problem. Immer gern. Nach erledigter arbeit schnapp ich mir jetzt den Hund und geh ruhigen Gewissens eni bisschen an der Ruhr spazieren. ;-) Mit freundlichen Grüßen, Cadpax Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.