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

Microsoft Office
gelöst Office 365 und öffentliche Ordner (1)

Frage von DeathNote zum Thema Microsoft Office ...

Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(5)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Statische Routen mit Shorewall, ISC-DHCP Server konfigurieren für Android Devices (25)

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

Server
gelöst Wie erkennen, dass nur deutsche IPs Zugang zu einer Website haben? (22)

Frage von Coreknabe zum Thema Server ...

Hardware
16-20 Port POE Switch mit VLAN (19)

Frage von thomasreischer zum Thema Hardware ...

Windows Server
Exchange HyperV Prozessorlast (18)

Frage von theoberlin zum Thema Windows Server ...