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

Ordnernamen des übergeordneten Ordners vor die Unterordner

Frage Entwicklung Batch & Shell

Mitglied: darumble

darumble (Level 1) - Jetzt verbinden

13.11.2008, aktualisiert 14.11.2008, 3938 Aufrufe, 7 Kommentare

Nabend zusammen,

hab ein wenig rumgedocktert, bekomm es aber leider nicht hin.

Und zwar möchte ich, wie der Titel schon sagt, den Ordnernamen des übergeordneten Ordner den untergeordneten Ordnern voranstellen.

Denke ein Beispiel machts klarer

Ordner1/Ordner2 -> Ordner1/Ordner1 - Ordner2

Wäre jemand so freundlich?

Besten Dank
Gruß
Mitglied: bastla
14.11.2008 um 00:21 Uhr
Hallo darumble und willkommen im Forum!

Wenn Du den Batch mit dem gewünschten Ordner als Parameter (= %1) aufrufst, dann etwa so:
01.
@echo off & setlocal 
02.
set "Parent=%~p1" 
03.
for /f "delims=" %%i in ("%Parent:~,-1%") do echo ren %1 "%%~nxi - %~nx1"
Das "echo" vor dem "ren" ist zum Testen da - wenn Du es entfernst, wird tatsächlich umbenannt.

Falls der Ordner im Hauptverzeichnis liegt, kann natürlich keine Umbenennung erfolgen.

Grüße
bastla
Bitte warten ..
Mitglied: darumble
14.11.2008 um 07:39 Uhr
Hi,

erstmal vielen dank.

Funktioniert azwar, aber ich glaube ich hätte mich etwas genauer ausdrücken müssen

Gibts ne Möglichkeit, dass das ganze vollautomatisch läuft?

Also ich hab halt jede Menge Ordner wo das passieren soll.

Hauptverzeichnis/Ordner1/Ordner2
Hauptverzeichnis/Ordner4/Ordner5
Hauptverzeichnis/Ordner6/Ordner7

soll dann so aussehen:
Hauptverzeichnis/Ordner1/Ordner1 - Ordner2
Hauptverzeichnis/Ordner4/Ordner4 - Ordner5
Hauptverzeichnis/Ordner6/Ordner6 - Ordner7


Also quasi eine Batch dann im Hauptverzeichnis, wäre top

Wenns net geht, muss ich mir was anderes überlegen.
Bitte warten ..
Mitglied: Biber
14.11.2008 um 09:47 Uhr
Moin darumble,

willkommen im Forum.
Wieso sollte irgendetwas "net gehen" mit Batch?

Schiess folgende Zeile am CMD-Prompt ab zum Proof-of-Concept:
01.
for %i in (x:\Hauptverzeichnis) do @for /d %j in (%i\*) do @for /d %k in (%j\*) do @echo ren "%k" "%~nxj - %~nxk"
[ggf. ein "mode con cols=166 lines=55" vorab *g]
Beispieloutput bei mir:
for %i in (d:\temp) do @for /d %j in (%i\*) do @for /d %k in (%j\*) do @echo ren "%k" "%~nxj - %~nxk" 
.... 
ren "d:\temp\Backup1\Admincopy" "Backup1 - Admincopy" 
ren "d:\temp\Backup1\Exchange" "Backup1 - Exchange" 
ren "d:\temp\Backup1\tsprofil" "Backup1 - tsprofil" 
ren "d:\temp\Backup1\WINDOWS" "Backup1 - WINDOWS" 
ren "d:\temp\backup3\alltheTestFiles" "backup3 - alltheTestFiles" 
....
Wenn das Ergebnis Deinen Erwartungen entsprechen sollte, pack das ganze in einen Batch.
Verdoppele dazu alle einfachen Prozentzeichen und lösche die fünf Zeichen "@echo".

Grüße
Biber
Bitte warten ..
Mitglied: darumble
14.11.2008 um 16:25 Uhr
Ok super danke, jetzt bin ich schon fast da

Hab nur noch Probleme falls der Ordner Leerzeilen enthält. Ne Idee?

C:\test>cm02.bat
C:\test>for %i in (c:\test) do for / %j in (%i\*) >do for / %k in (%j\*) do ren "
%k" "%~nxj - %~nxk"
C:\test>for / %j in (c:\test\*) do for / %k in >(%j\*) do ren "%k" "%~nxj - %~nxk
"
C:\test>for / %k in (c:\test\Neuer Ordner\*) do >ren "%k" "Neuer Ordner - %~nxk"
C:\test>ren "c:\test\Neuer" "Neuer Ordner - Neuer"
Das System kann die angegebene Datei nicht finden.
Bitte warten ..
Mitglied: bastla
14.11.2008 um 16:40 Uhr
Hallo darumble!

So sollte es gehen:
for %%i in ("c:\test") do @for /d %%j in ("%%i\*") do @for /d %%k in ("%%j\*") do @echo ren "%%k" "%%~nxj - %%~nxk"
Grüße
bastla

P.S.: Falls Du öfters Batches oder Ausgabezeilen postest, solltest Du einen Blick auf diese Formatierungsmöglichkeit werfen ...

[Edit] @Biber: Tut mir schrecklich furchtbar ... [/Edit]
Bitte warten ..
Mitglied: Biber
14.11.2008 um 16:45 Uhr
Moin darumble,

falls bastla mich nicht wieder rechts überholt, versuche es so:
Demo am CMD-Prompt:
01.
>for %i in (d:\temp) do @for /d %j in ("%i\N*") do @for /d %k in ("%j\*") do @echo ren "%k" "%~nxj - %~nxk" 
02.
ren "d:\temp\neuer ordner\neuer unterordner" "neuer ordner - neuer unterordner"
Grüße
Biber
Bitte warten ..
Mitglied: darumble
14.11.2008 um 16:53 Uhr
Wunderbar danke euch beiden!

Echt super Forum, da kömmt man doch öfters vorbei

Gruß
darumble
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

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

Ähnliche Inhalte
Batch & Shell
gelöst Recursiv Unterordner anlegen Powershell (2)

Frage von Voiper zum Thema Batch & Shell ...

Exchange Server
gelöst Vererbung von Berechtigungen auf Unterordner in Outlook verhindern (6)

Frage von touro411 zum Thema Exchange Server ...

SAN, NAS, DAS
DSM Synology Unterordner erstellen - Freigabe über Computermanagement (3)

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

Windows Server
Kein Zugriff auf Netzwerk-Unterordner - trotz Berechtigung?! (4)

Frage von ordi303 zum Thema Windows Server ...

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 ...