Batch der an meine Files die in unterordner sind einen Kürzel vorne mit ranfügt
Hallo,
ich habe verschiedene unterordner die nummeriert sind und zwar so :
1
2
3
4
5
usw..
jetzt möchte ich das meine wave files die dort in den unterordnern sind automatisch diese formatierung kriegen:
ordner 1 -> 1_blabla.wav , 1_bibibi.wav, 1_juhuu.wav
ordner 2 -> 2_weiterbla.wav
ordner 3 -> 3_weiterweirter.wav
usw..
in den ordner befinden sich mehrere files und die sollen dann jeweils immer am anfang die zahl des ordners und einen unterstrich haben, jeder ordner hat eine andere zahl und diese soll dann bei all den in den ordnern befindenen daten vorne rangehängt werden..thats it
ich hoffe ich konnts verständlich erklären..
vielen dank schonmal
mfg jiggy
ich habe verschiedene unterordner die nummeriert sind und zwar so :
1
2
3
4
5
usw..
jetzt möchte ich das meine wave files die dort in den unterordnern sind automatisch diese formatierung kriegen:
ordner 1 -> 1_blabla.wav , 1_bibibi.wav, 1_juhuu.wav
ordner 2 -> 2_weiterbla.wav
ordner 3 -> 3_weiterweirter.wav
usw..
in den ordner befinden sich mehrere files und die sollen dann jeweils immer am anfang die zahl des ordners und einen unterstrich haben, jeder ordner hat eine andere zahl und diese soll dann bei all den in den ordnern befindenen daten vorne rangehängt werden..thats it
ich hoffe ich konnts verständlich erklären..
vielen dank schonmal
mfg jiggy
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator Biber am 02.02.2011 um 21:27:21 Uhr
Ich behalt dich im Auge... ein Dauer-Rückzug auf "ich kann nun mal keine Batch selbst schreiben"... nö.
Wenn das so bleibt, werde ich auch ein paar Takte dazu sagen.
Wenn das so bleibt, werde ich auch ein paar Takte dazu sagen.
Content-ID: 159987
Url: https://administrator.de/forum/batch-der-an-meine-files-die-in-unterordner-sind-einen-kuerzel-vorne-mit-ranfuegt-159987.html
Ausgedruckt am: 23.12.2024 um 04:12 Uhr
22 Kommentare
Neuester Kommentar
Hallo jiggyjones!
Soferne es alle Unterordner eines gegebenen Basisordners sein sollen, (ungetestet) etwa so:
Wegen des "
Grüße
bastla
Soferne es alle Unterordner eines gegebenen Basisordners sein sollen, (ungetestet) etwa so:
@echo off & setlocal
set "Basis=D:\Dein Überordner"
pushd "%Basis%"
for /d %%i in (*.*) do for /f "delims=" %%a in ('dir /b /a-d "%%i" 2^>nul') do echo ren "%%i\%%a" "%%~nxi_%%~nxa"
popd
echo
" vor dem "ren
" werden alle Umbenenn-Befehle nur angezeigt, aber noch nicht ausgeführt.Grüße
bastla
Aloha,
[OT]
achja bastla, damals wollte er es noch so haben (was es hier ja noch nie gab ...) und jetzt ein wenig anders - aber dich stört das nicht, du Samariter du ^.^
Du müsstest inzwischen ja fast für jeden ... ein passendes Skript haben, das du nur noch c&p brauchst, oder? *lach*
[/OT]
greetz André
edit: yeah, wieder das mit dem Ordner auf die batch ziehen (und am Ende kommt es dann wieder in die Excel-Tabelle, gelle)
[OT]
achja bastla, damals wollte er es noch so haben (was es hier ja noch nie gab ...) und jetzt ein wenig anders - aber dich stört das nicht, du Samariter du ^.^
Du müsstest inzwischen ja fast für jeden ... ein passendes Skript haben, das du nur noch c&p brauchst, oder? *lach*
[/OT]
greetz André
edit: yeah, wieder das mit dem Ordner auf die batch ziehen (und am Ende kommt es dann wieder in die Excel-Tabelle, gelle)
Hallo jiggyjones!
Kann man, aber vielleicht auch Du - versuch's doch einfach mal ...
@Skyemugen
Wie Du drüben schon richtig angemerkt hast: Neu schreiben hält fit (und zumindest für die paar Zeilen würde das Suchen länger dauern, als wenn ich es gleich hintippsle) ...
Grüße
bastla
Kann man, aber vielleicht auch Du - versuch's doch einfach mal ...
@Skyemugen
Wie Du drüben schon richtig angemerkt hast: Neu schreiben hält fit (und zumindest für die paar Zeilen würde das Suchen länger dauern, als wenn ich es gleich hintippsle) ...
Grüße
bastla
Hallo jiggyjones!
Grüße
bastla
dazu ist das forum hier odeR?
Nicht mal ich, der ich ja nun wirklich gerne mal ein Script in der x-ten Variation (und oft so gut wie fertig) bastle, sehe dieses Forum als Abholstelle für mal eben so in Auftrag gegebene maßgeschneiderte Batches / Scripts, sondern durchaus als Basis für das Entwickeln eigener Fähigkeiten ...Grüße
bastla
Aloha jiggyjones,
keep cool, wer regt sich denn hier auf? Sind doch alle völlig entspannt ;)
Gut, dann dieses Mal eben ohne Excel - hätte ja kommen können, dann hätte man zumindest sich erinnert und gewusst, wo man suchen muss. (Und irgendwann schusterst du die eventuell sogar selber zusammen aus dem gegebenen Material)
greetz André
edit: Aber ein bisschen hat es schon was von 9Live ... ich brauche jetzt einen Gewinner
keep cool, wer regt sich denn hier auf? Sind doch alle völlig entspannt ;)
Gut, dann dieses Mal eben ohne Excel - hätte ja kommen können, dann hätte man zumindest sich erinnert und gewusst, wo man suchen muss. (Und irgendwann schusterst du die eventuell sogar selber zusammen aus dem gegebenen Material)
greetz André
edit: Aber ein bisschen hat es schon was von 9Live ... ich brauche jetzt einen Gewinner
Hallo jiggyjones!
Wie weit bist Du denn bei Deinen Bemühungen, den Batch nachzuvollziehen und anzupassen gekommen, woran scheitert's?
Grüße
bastla
[Edit] @Skyemugen: Ich schreib halt lieber ein Stück Batch, als 9live zu schauen ... [/Edit]
Wie weit bist Du denn bei Deinen Bemühungen, den Batch nachzuvollziehen und anzupassen gekommen, woran scheitert's?
Grüße
bastla
[Edit] @Skyemugen: Ich schreib halt lieber ein Stück Batch, als 9live zu schauen ... [/Edit]
Aloha,
haha ich bin (um Himmels Willen) weit entfernt im batch ein wahrer Könner zu sein, learning by doing sowie Rumtüfteln für Leute, die hier mal das oder jenes wollen (auch wenn ich selbst am Ende nicht die Lösung bringe) - das bringt das Lernfeeling und die Erfahrung und genau dazu will man hier auch motivieren, denn grundsätzlich kann das meiste der Anwender selbst erarbeiten / erlernen. Und glaube mir: Bei jedem Erfolg freut man sich dann, dass es klappt ^.^
greetz André
edit: @bastla, ja kann ich nachvollziehen (aber 1x 9Live gesehen, kennt man ja das Grundprinzip ^.^)
haha ich bin (um Himmels Willen) weit entfernt im batch ein wahrer Könner zu sein, learning by doing sowie Rumtüfteln für Leute, die hier mal das oder jenes wollen (auch wenn ich selbst am Ende nicht die Lösung bringe) - das bringt das Lernfeeling und die Erfahrung und genau dazu will man hier auch motivieren, denn grundsätzlich kann das meiste der Anwender selbst erarbeiten / erlernen. Und glaube mir: Bei jedem Erfolg freut man sich dann, dass es klappt ^.^
greetz André
edit: @bastla, ja kann ich nachvollziehen (aber 1x 9Live gesehen, kennt man ja das Grundprinzip ^.^)
Hallo jiggyjones!
Falls nein, eine kurze Erklärung zu meinem Ansatz oben (der darauf aufbaut, dass mehrere Ordner bearbeitet werden sollten):
Per "
geht (wie sich inzwischen herausgestellt hat, unnötiger Weise) alle Unterordner durch und stellt diese als %%i zur Verfügung
macht dies für alle Dateien des Ordner %%i mit dem Ergebnis, dass in %%a der Dateiname + Typ (aber ohne Pfad) steht.
(das Test-"
Wenn Du nun noch weißt (und das kannst Du bereits wissen), dass ein dem Batch (auch per Drag & Drop) übergebener Ordner als %1 (und eben nicht als %%i) ankommt, sollte sich doch daraus etwas machen lassen ...
Grüße
bastla
also ich hab ehrlich gesagt 0 plan vom batchen bastla
... und Du möchtest Dir diesen Zustand erhalten?Falls nein, eine kurze Erklärung zu meinem Ansatz oben (der darauf aufbaut, dass mehrere Ordner bearbeitet werden sollten):
Per "
pushd
" wird in einen bestimmten Ordner gewechselt, wodurch man sich die Berücksichtigung von Pfaden erspart - "popd
" ist das Gegenstück (und sollte der Ordnung halber auch immer ausgeführt werden)for /d %%i in (*.*) do
for /f "delims=" %%a in ('dir /b /a-d "%%i" 2^>nul') do
ren "%%i\%%a" "%%~nxi_%%~nxa"
echo
" lasse ich mal weg) bedeutet nun: Benenne die Datei "%%i\%%a" (durch %%i wird jetzt auch der Pfad hinzugefügt) so um, dass sich der neue Name aus dem Namen des Ordners (+ Typ: falls es im Ordnernamen zumindest einen Punkt gäbe, würde der Teil nach dem letzten Punkt als "Extension" - von da her auch das "x
" - betrachtet) ohne Pfadangabe, dem "_" und dem Dateinamen (eigentlich wäre auch "%%a" schon genug) zusammensetzt.Wenn Du nun noch weißt (und das kannst Du bereits wissen), dass ein dem Batch (auch per Drag & Drop) übergebener Ordner als %1 (und eben nicht als %%i) ankommt, sollte sich doch daraus etwas machen lassen ...
Grüße
bastla
Hallo jiggyjones!
Unter der Annahme, dass Du weiterhin die Ordner per "Drag & Drop" übergeben willst, etwa so:
Grüße
bastla
Unter der Annahme, dass Du weiterhin die Ordner per "Drag & Drop" übergeben willst, etwa so:
@echo off & setlocal
:Loop
if #%1#==## pause & goto :eof
set /a Nr=100
for /f "delims=" %%a in ('dir /b /a-d /on %1 2^>nul^|findstr /b "[0-9][0-9]"') do set "Name=%%~nxa" & call :ProcessFile %1
shift
goto :Loop
:ProcessFile
set /a Nr+=1
echo ren "%~1\%Name%" "%~nx1_%Nr:~-2%%Name:~2%"
goto :eof
bastla