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

Zwei Ordner-Ebenen mit gleich lautenden Ordnernamen. Eine ist überflüssig!

Frage Entwicklung Batch & Shell

Mitglied: Andichrist

Andichrist (Level 1) - Jetzt verbinden

20.10.2009 um 16:49 Uhr, 4495 Aufrufe, 4 Kommentare

Mit Winrar/ 7zip entpackte Dateien wird der Dateinamen 2x angelegt. (1.Ebene) Ordner (2- Ebene) Unterordner mit Inhalt.
Gewünscht ist nur eine Ordner-Ebene mit Inhalt!

Hallo,

ich habe folgende kleine Herausforderung für die ich eine kleine Batch suche!

Beim entpacken von RAR-Dateien werden 2 Ordner-Ebenen mit gleich lautenden Ordnernamen angelegt. Eine ist überflüssig!

Beispiel-Ordner zB.:
c:/Temp

In diesem sind mehrere Ordner mit exakt gleich lautenden Unterordner mit Dateien. Die Dateien (mehrere) müssen natürlich mit verschoben/kopiert werden!

3400_aaaaa/3400_aaaa/test.txt
3401_bbbbbbbb/3401_bbbbbbbb/hallo.jpg
3402_zz/3402_zz/welt.txt
...
usw.

Wunsch - nur eine Ordner-Ebene:

3400_aaaa/test.txt
3401_bbbbbbbb/hallo.jpg
3402_zz/welt.txt
...
usw.

Es wäre nett, wenn jemand eine kleine Batch "basteln" könnte!

Danke im Voraus
AndyChrist
Mitglied: bastla
20.10.2009 um 16:57 Uhr
Hallo Andy!

Sollte sich so machen lassen:
for /d %%i in (C:\Temp\*.*) do (if exist "%%~i\%%~nxi" move "%%~i\%%~nxi\*.*" "%%~i\" && rd "%%~i\%%~nxi")
Vorsicht - die Zeile ist "scharf" und ungetestet (und verarbeitet alle Unterordner von "C:\Temp") ...

Grüße
bastla
Bitte warten ..
Mitglied: Andichrist
20.10.2009 um 17:22 Uhr
Hallo bastla,

das ging ja SUPER schnell. Du brauchtest 7 Minuten! Funktioniert 100%!

Hier für die Nachwelt noch etwas erweitert. So kann die Datei in den Ordner kopiert und aufgerufen werden!

01.
set "targetdir=." & REM  oder Verz. setzen z.B.  set "targetdir=C:\Temp" 
02.
 
03.
for /d %%i in ("%targetdir%"\*.*) do (if exist "%%~i\%%~nxi" move "%%~i\%%~nxi\*.*" "%%~i\" && rd "%%~i\%%~nxi")
Danke
AndyChrist
Bitte warten ..
Mitglied: bastla
20.10.2009 um 17:30 Uhr
Hallo Andy!
das ging ja SUPER schnell. Du brauchtest 7 Minuten!
Viel mehr Zeit hatte ich leider auch gerade nicht ...

... daher musste ich das "Behübschen" Dir überlassen (wobei ich eigentlich nur das schließende Anführungszeichen minimal anders gesetzt und < code>-Tags verwendet hätte):
for /d %%i in ("%targetdir%\*.*") do (if exist "%%~i\%%~nxi" move "%%~i\%%~nxi\*.*" "%%~i\" && rd "%%~i\%%~nxi")
Grüße
bastla
Bitte warten ..
Mitglied: Andichrist
20.10.2009 um 17:46 Uhr
Hi bastla,

da sieht man erst was Du "schon" in 7 Minuten alles leisten kannst. Was machst Du erst in einer halben Stunden! *grins*

Danke für den Hinweis mit dem setzen der ". Bei den <Code> Tags war ich mir nicht mehr sicher bezüglich der korrekten Schreibweise!


So long
AndyChrist
Bitte warten ..
Neuester Wissensbeitrag
Router & Routing

192.168er Adresse im öffentlichen Netz

(2)

Erfahrungsbericht von visco-c zum Thema Router & Routing ...

Ähnliche Inhalte
Batch & Shell
gelöst Dateiname entsprechend einem um x-Ebenen übergeordeten Ordnernamen umbenennen (3)

Frage von Booster07 zum Thema Batch & Shell ...

Batch & Shell
gelöst Ordner und Datei Name gleich (BATCH) (12)

Frage von clragon zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Zusammenarbeit
Als Administrator im Großraumbüro (29)

Frage von Dopamin85 zum Thema Zusammenarbeit ...

Exchange Server
Test-ActiveSyncConnectivity Error nach neuem Zertifikat (22)

Frage von Driphex zum Thema Exchange Server ...

Hyper-V
HYPER V und USB (16)

Frage von Hendrik2586 zum Thema Hyper-V ...

SAN, NAS, DAS
Backupserver für KMU (14)

Frage von Leo-le zum Thema SAN, NAS, DAS ...