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, 4509 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 ..
Ähnliche Inhalte
Batch & Shell
gelöst Dateiname entsprechend einem um x-Ebenen übergeordeten Ordnernamen umbenennen (3)

Frage von Booster07 zum Thema Batch & Shell ...

Windows 10
Reiter Sicherheit auf Ordner-Ebene verschwunden (2)

Frage von HScomputer zum Thema Windows 10 ...

Batch & Shell
Ordnernamen aus Dateinamen erstellen (1)

Frage von Dr.Byte zum Thema Batch & Shell ...

PHP
Ticketsystem mit Meldung über mehrere Ebenen (4)

Frage von tsunami zum Thema PHP ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Internet
gelöst Jeden morgen Internet-Probleme (56)

Frage von pjrtvly zum Thema Internet ...

Server-Hardware
HP DL380 G7: Booten vom USB via USB 3.1-PCI-e Karte möglich? (24)

Frage von Paderman zum Thema Server-Hardware ...

LAN, WAN, Wireless
gelöst IP Adressen - Modem - Switch - Accesspoint (22)

Frage von teuferl82 zum Thema LAN, WAN, Wireless ...

Windows 7
Bluesreens unternehmensweit (22)

Frage von SYS64738 zum Thema Windows 7 ...