Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Batch File zum umbenennen von Unterordnern.

Empfohlene Antworten

Veröffentlicht

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

@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

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.

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

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

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

Jawohl das wars! Hab den Wald vor lauter Bäumen nicht gesehen :-)

Du hast mir den Sonntag gerettet.

Muchas Gracias!

Cadpax

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.