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 27.03.2013 um 18: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

Ausgedruckt am: 29.03.2024 um 08:03 Uhr

Mitglied: bastla
bastla 27.03.2013 aktualisiert um 17:35:21 Uhr
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
Mitglied: maxbes
maxbes 27.03.2013 um 18:48:03 Uhr
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
Mitglied: bastla
bastla 27.03.2013 um 18:53:08 Uhr
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
Mitglied: Biber
Biber 27.03.2013 aktualisiert um 19:05:27 Uhr
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]
Mitglied: maxbes
maxbes 27.03.2013 um 19:17:25 Uhr
Goto Top
oh, sorry - so weit habe ich gar nicht gedacht...

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

maxim
Mitglied: bastla
bastla 28.03.2013 um 08:55:56 Uhr
Goto Top
Hallo maxbes!

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

Grüße
bastla
Mitglied: maxbes
maxbes 28.03.2013 um 12:18:28 Uhr
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