Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Verschiedene Unterordner anhand einer Liste umbenennen

Frage Entwicklung Batch & Shell

Mitglied: trashcan

trashcan (Level 1) - Jetzt verbinden

27.05.2012, aktualisiert 12:01 Uhr, 4072 Aufrufe, 8 Kommentare

Hallo,

Ich bin hier im Forum auf folgende Batch Datei gestoßen und würde diese nun gerne für meine Zwecke nutzen. Leider bin ich noch ein ziemlicher Frischling was das Schreiben von Batchdateien betrifft und hoffe daher, dass mir jemand beim Umbasteln helfen kann.

Folgendes habe ich schon angepasst:

01.
set "DATENBANK=c:\Database\DB01.db" 
02.
set "ORDNER=D:\ARCHIVE\" 
03.
cd /D %ORDNER% 
04.
 
05.
for /f "delims=" %%i in ('dir /b /ad') do for /f "tokens=1* delims==" %%a in ('findstr /b /c:"%%i" "%DATENBANK%"') do ren "%%i" "%%b" 
06.
pause
Das ganze funktioniert auch Einwandfrei, wenn die Ordner die ich umbenennen möchte direkt in %ORDNER% sind. Nun ist mein Unterverzeichnis aber Chronologisch aufgebaut:

%ORDNER%\YYYY\YYYY-MM\YYYY-MM-DD - Ordner_der_umbenannt_werden_soll

wobei YYYY für Jahr MM Für Monat und DD für Tag steht also z.B.:

C:\Archive\2005\2005-06\2005-06-03 - Backup Projekt XY

Die Textdatei ist wie Folgt aufgebaut:

YYYY-MM-DD - Ordner_der_umbenannt_werden_soll=Ordner_der_umbenannt_werden_soll

Mein Problem ist nun: Sobald ich eine Möglichkeit gefunden habe, auch die Unterordner zu erfassen, nennt mir die Batch ersteinmal die Zwischenordner YYYY und YYYY-MM um.

An die Möglichkeit einfach die Ordner um den Datums String zu kürzen habe ich auch schon gedacht, nur haben einige Ordner vereinzelnd noch einen Zusatz z.B.: 2005-06-03 - [Fertig] - Backup Projekt XY

Weiß jemand Rat?

Gruß

trashcan



Mitglied: Biber
27.05.2012, aktualisiert um 11:52 Uhr
[OT]
Moin trashcan,

Willkommen im Forum.
Bitte ignoriere meinen OT-Kommentar - erklär ich dir bei Bedarf per PN.
Zitat von trashcan:
Verschiedene Unterordner anhand einer Liste Umbennen
Das ganze funktioniert auch Einwandfrei, wenn die Ordner die ich umbennen möchte ...
...eine Möglichkeit gefunden habe, auch die Unterordner zu erfassen, bennent mir die Batch..
Set /a rgc+=3
#827

Grüße
Biber
P.S. Auf dein eigentliches Problem werfe ich auch einen Blick nach dem Frühstück.
[/OT]
Bitte warten ..
Mitglied: trashcan
27.05.2012 um 12:03 Uhr
Hallo Biber,

vielen Dank schon einmal im Voraus. Denke [OT] habe ich verstanden - "en" war schon immer eine Schwäche von mir
Bitte warten ..
Mitglied: mak-xxl
27.05.2012 um 13:20 Uhr
Moin trashcan,

falls der Biber zuviel gefrühstückt hat und jetzt einen dicken Kullerbauch pflegt, vorab eine Hilfestellung:

Die Verzeichnisse werden vom dir-Befehl angeliefert - wenn Du diesem den Parameter '/s' spendierst, macht er das auch für Unterverzeichnisse. Wenn Du vor den ren-Befehl noch ein echo setzt, kannst Du erstmal anschauen, was denn wäre, wenn ...

for /f "delims=" %%i in ('dir /b /s /ad') do for /f "tokens=1* delims==" %%a in ('findstr /b /c:"%%i" "%DATENBANK%"') do @echo ren "%%i" "%%b" 
Frohe Pfingsten und freundliche Grüße von der Insel - Mario
Bitte warten ..
Mitglied: trashcan
27.05.2012 um 13:53 Uhr
Hallo Mario,

Dank dir für den Tip. Leider macht er mir mit dem Zusatz von /s rein garnichts. Wenn ich die Batch ohne /s in meinem Hauptverzeichnis starte nennt er mir nur wieder die Jahres Ordner um - jeweils nach dem ersten Beitrag, der mit entsprechendem Jahres Tag in der Datenbank gefunden wird.

Ich bräuchte also einen Befehl, der YYYY\YYYY-MM überspringt, bzw. die Batch gleich in jedem YYYY-MM startet.

Gruß

trashcan
Bitte warten ..
Mitglied: bastla
27.05.2012, aktualisiert um 14:41 Uhr
Hallo trashcan!

Deiner Beschreibung nach würde sich ein "findstr /e" besser eigenen als die Variante mit "/b" (das "/s" beim "dir" brauchst Du aber trotzdem ...
Als Alternative könntest Du, anstatt alle Ordner durchzugehen, einfach alle "Datenbank"-Einträge abarbeiten (da so ganz gezielt nur die passenden Ordner in der jeweiligen Ebene gefunden werden) - ungetestet etwa:
for /f "usebackq tokens=1* delims==" %%i in ("%DATENBANK%") do for /f "delims=" %%o in ('dir /s/b/ad "%ORDNER%\%%i"') do echo ren "%%o" "%%j"
... und übrigens: Die Zeile 3 ist entbehrlich, wenn Du (in der einen oder anderen Version) "dir /s/b" verwendest, da Du so ohnehin einen kompletten Pfad erhältst ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
27.05.2012, aktualisiert um 16:05 Uhr
[OTii]
Moin mak-xxl,

Zitat von mak-xxl:
falls der Biber zuviel gefrühstückt hat und jetzt einen dicken Kullerbauch pflegt...
Hrrmmhhhh.... irgendwie wurde mein alter Avatar ein büschen unvorteilhaft auf ein quadratisches Format gestaucht...
-> nur deshalb bin ich da VOLLKOMMEN VERZERRT so stark in die Breite gegangen *grmphhh*

Ich habe jetzt mal ein eher an Porträtaufnahmen angelehntes Bildchen hochgeladen.
Allerdings - verglichen mit der Mona Lisa wirke ich doch noch etwas knuffig.

Bezogen auf das TO-Problem: sollte schon hinreichend beantwortet sein.

Ebenfalls Vrohe Vinxten auf die Insel Mario
Biber
[/OTii]
Bitte warten ..
Mitglied: trashcan
27.05.2012 um 16:22 Uhr
Vielen Dank bastla,

So hat es geklappt

Viele Grüße und euch allen noch schöne Pfingsten.

trashcan
Bitte warten ..
Mitglied: bastla
27.05.2012 um 19:45 Uhr
[OT] Hallo Biber!

Da hab ich es mit meinem Bildchen wesentlich leichter (die Tendenz zur "Breite unterhalb der Gürtellinie" hattest Du ja seinerzeit schon konstatiert ) ...

Grüße
bastla
[/OT]
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Erkennung und -Abwehr
Spam mit eigener Domain (12)

Frage von NoobOne zum Thema Erkennung und -Abwehr ...