Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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

Batch & Shell
Ordnernamen aus Dateinamen erstellen (1)

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

Neue Wissensbeiträge
Sicherheit

Millionen Euro in den Sand gesetzt?

(3)

Information von transocean zum Thema Sicherheit ...

Sicherheit

How I hacked hundreds of companies through their helpdesk

Information von SeaStorm zum Thema Sicherheit ...

Erkennung und -Abwehr

Ccleaner-Angriff war nur auf große Unternehmen gemünzt

(10)

Information von Lochkartenstanzer zum Thema Erkennung und -Abwehr ...

Heiß diskutierte Inhalte
Humor (lol)
gelöst Freidach Beitrag (40)

Frage von Penny.Cilin zum Thema Humor (lol) ...

Firewall
gelöst Firewall Firmeneimsatz (22)

Frage von wiesi200 zum Thema Firewall ...

Multimedia & Zubehör
gelöst 8 GB USB Stick besitzt nur noch 4 MB Kapazität (13)

Frage von Gwahlers zum Thema Multimedia & Zubehör ...