maxbes
Goto Top

Ordner sortieren und umbenennen

Hallo,

da ich nicht nur neu in der materie sondern auch in diesem forum bin zunächst vielen dank, auch ohne zu posten habe ich bisher viel gelernt!

nun mein aktuelles problem:

ich habe einen größeren datensatz in dem zu namensordnern jeweils 3 oder 4 unterverzeichnisse (mit jeweils weiteren unterverzeichnissen) nach datum benannt sind (yyyymmdd).
fürs weitere scripten ist es für mich notwendig das die unterordner in jedem verzeichnis gleich heißen, daher würde ich gerne die ordner sortiert (datum aufsteigend=zahl aufsteigend)umbennenen in :
tp1 (timepoint1)
tp2 (timepoint2)

kann mir jemand helfen?

vielen dank im vorraus!
maxim
Kommentar vom Moderator Biber am Mar 27, 2013 um 17:46:40 Uhr
würde ich gerne die ordner sortiert (datum aufsteigend=zahl aufsteigend)umbennenen in :

Set /a rgc+=1
#879

Hätte mich auch gewundert, wenn ein neu angemeldetes Mitglied diese Klippe umschifft...face-wink

Content-Key: 204055

Url: https://administrator.de/contentid/204055

Printed on: April 19, 2024 at 14:04 o'clock

Member: bastla
bastla Mar 27, 2013 updated at 16:35:21 (UTC)
Goto Top
Hallo maxbes und willkommen als Mitglied!
zu namensordnern jeweils 3 oder 4 unterverzeichnisse (mit jeweils weiteren unterverzeichnissen) nach datum benannt sind (yyyymmdd)
Inwiefern sind die Unterverzeichnisse relevant? Wenn ich Dich richtig verstehe, ginge es doch eigentlich nur darum, jeweils die 3 oder 4 Verzeichnisse aufsteigend zu nummerieren - ungetestet ließe sich das etwa so realisieren:
@echo off & setlocal
set "Basis=D:\Verzeichnis welches Namensordner enthält"  

for /d %%n in ("%Basis%\*") do (  
    for /f "tokens=1* delims=:" %%i in ('dir /b/ad/on "%%n" 2^>nul^|findstr /n "^"') do (  
        echo ren "%%n\%%j" tp%%i  
    )
)
pause
Zum Testen steht vor dem "ren" ein "echo", sodass die Umbenenn-Befehle nur angezeigt werden - wenn's vernünftig aussieht, dieses "echo" entfernen, damit die Befehle tatsächlich ausgeführt werden.

Grüße
bastla
Member: maxbes
maxbes Mar 27, 2013 at 17:48:03 (UTC)
Goto Top
vielen Dank für die prompte Hilfe!
Du hast mein problem genau erkannt!
Leider zeigt sich hier sofort meine unkenntniss:
ich bekomme nur syntax Fehlermeldungen; ist das ein bash shell script?

lg

maxim
Member: bastla
bastla Mar 27, 2013 at 17:53:08 (UTC)
Goto Top
Hallo maxbes!
ist das ein bash shell script?
Nennt sich unter Windows (Du hättest es doch sicherlich verraten, wenn Dein System ein Linux wäre?) "Batch" und wird mit dem Dateityp ".bat" oder ".cmd" gespeichert.
ich bekomme nur syntax Fehlermeldungen
Wäre im Fall des Falles hilfreich, wenn ich die auch (von Dir mitgeteilt face-wink) bekäme ...

Grüße
bastla
Member: Biber
Biber Mar 27, 2013 updated at 18:05:27 (UTC)
Goto Top
Moin maxbes,

willkommen im Forum.
@bastla hat -ausgehend von einer Gaußschen Normalverteilung- unterstellt, dass dein Rechner a) bei Saturn gekauft und b) mit einem Windows Betriebssystem bestückt ist.
So wie es halt bei 87% der Ich-will-jetzt-auch-meine-Fotos-inner-Klaut-verwalten-Neueinsteiger ist.

Dementsprechend hat er einen Windows-Batch gepostet (Plaintext-Datei gespeichert mit der Endung .cmd oder .bat)

Stimmen seine Annahmen?

Grüße
Biber
[Edit] Upps, da war ich nur Zweiter... [/Edit]
Member: maxbes
maxbes Mar 27, 2013 at 18:17:25 (UTC)
Goto Top
oh, sorry - so weit habe ich gar nicht gedacht...

ich arbeite mit der bash shell unter linux/apple...

maxim
Member: bastla
bastla Mar 28, 2013 at 07:55:56 (UTC)
Goto Top
Hallo maxbes!

Sorry - dann muss ich passen face-sad ...

Grüße
bastla
Member: maxbes
maxbes Mar 28, 2013 at 11:18:28 (UTC)
Goto Top
Vielen Dank trotzdem für die Bemühung!

habe das Problem mittlerweile mit Hilfe gelöst; falls jemand in diesem thread mal danach suchen sollte:

YY=20
i=1
for d in ./$YY*
do mv -v $d ${d%/*}/tp$i
((i++))
done

lg

maxim