plastikjoe 10 Geschrieben 17. Oktober 2017 Melden Geschrieben 17. Oktober 2017 (bearbeitet) Hallo Zusammen, ich habe ein kleines Problem und komme nicht weiter. Ein Ordner enthält unzählige zip Dateien mit dieser Syntax : alf_hugo_eva_o_o_o_b1_8_00_x12_erste_config.zip Jetzt muss ich Oderner erstellen, in die wiederrum die zip Dateien gemovet werden sollen. Die Ordner müssen aber so sein: alf_hugo_eva_o_o_o_b1_8_00_x12_erste . Was ich bisher habe : For /F %a in ('Dir /B *config.zip') Do echo md %a Ich bekomme das _config.zip nicht weg. Kann mir bitte jemand helfen. tausend Dank bearbeitet 17. Oktober 2017 von plastikjoe Zitieren
Dukel 460 Geschrieben 17. Oktober 2017 Melden Geschrieben 17. Oktober 2017 Nimm Powershell. Damit hast du mehr Spaß. Zitieren
plastikjoe 10 Geschrieben 17. Oktober 2017 Autor Melden Geschrieben 17. Oktober 2017 Gute Idee, wie gehts in Powershell? Zitieren
Dukel 460 Geschrieben 17. Oktober 2017 Melden Geschrieben 17. Oktober 2017 Es kommt darauf was genau du willst. Alles ab dem letzten "_" abschneiden oder immer nur den String "_config"? Zitieren
plastikjoe 10 Geschrieben 17. Oktober 2017 Autor Melden Geschrieben 17. Oktober 2017 (bearbeitet) am besten ab dem letzten _ soll alles weg. bearbeitet 17. Oktober 2017 von plastikjoe Zitieren
Sunny61 816 Geschrieben 17. Oktober 2017 Melden Geschrieben 17. Oktober 2017 (bearbeitet) Ohne Code posten zu wollen, Du mußt von Links bis zum ersten _ zählen, +1 und das ist deine neue Länge des Dateinamen. bearbeitet 17. Oktober 2017 von Sunny61 Zitieren
Dukel 460 Geschrieben 17. Oktober 2017 Melden Geschrieben 17. Oktober 2017 Auslesen aller Dateien mit entsprechenden String: Get-ChildItem -Filter *config.zip Name: (Get-Item .\alf_hugo_eva_o_o_o_b1_8_00_x12_erste_config.zip).Name Stelle des letzten "_": (Get-Item .\alf_hugo_eva_o_o_o_b1_8_00_x12_erste_config.zip).Name.LastIndexOf('_')36 Abgeschnittener Name: (Get-Item .\alf_hugo_eva_o_o_o_b1_8_00_x12_erste_config.zip).Name.Substring(0, (Get-Item .\alf_hugo_eva_o_o_o_b1_8_00_x12_erste_config.zip).Name.LastIndexOf('_')) Alternativ: (Get-Item .\alf_hugo_eva_o_o_o_b1_8_00_x12_erste_config.zip).Name.Substring(0, 36) Alles noch zusammenbauen: foreach($file in (Get-ChildItem -Filter *_config.zip)){ New-Item -Type Directory -Path (Get-Item $file).Name.Substring(0, (Get-Item $file).Name.LastIndexOf('_')) } 2 Zitieren
plastikjoe 10 Geschrieben 17. Oktober 2017 Autor Melden Geschrieben 17. Oktober 2017 Super, Danke das funktioniert schon mal. Wie kopiert man nun elegant noch diese zips in den jeweiligen Ordner? Zitieren
Sunny61 816 Geschrieben 17. Oktober 2017 Melden Geschrieben 17. Oktober 2017 Ebenfalls mit der Powershell. Du darfst auch mitarbeiten. http://powershellpraxis.de/index.php/dateien-und-ordner#2.1.2%20einfache%20Operationen%20mit%20Dateien%20und%20Verzeichnissen 1 Zitieren
plastikjoe 10 Geschrieben 18. Oktober 2017 Autor Melden Geschrieben 18. Oktober 2017 Hab mich mal selbst versucht. Habe es bloß nicht zusammen hinbekommen, also Ordner erstellen und anschließend moven. Vielleicht hat ja noch jemand ein Tipp, wie ich die zusammen packe? foreach($file in (Get-ChildItem -Filter *_config.zip)){ New-Item -Type Directory -Path (Get-Item $file).Name.Substring(0, (Get-Item $file).Name.LastIndexOf('_')) } foreach($file in (Get-ChildItem -Filter *_config.zip)){ Move-Item (Get-Item $file) -destination (Get-Item $file).Name.Substring(0, (Get-Item $file).Name.LastIndexOf('_')) } Vielen Dank an alle! Zitieren
Dukel 460 Geschrieben 18. Oktober 2017 Melden Geschrieben 18. Oktober 2017 Einfach das Move Item in die Foreach Schleife hinzufügen. Später schaust du dir mal die Powershell Grundlagen an. foreach($file in (Get-ChildItem -Filter *_config.zip)){ New-Item -Type Directory -Path (Get-Item $file).Name.Substring(0, (Get-Item $file).Name.LastIndexOf('_')) Move-Item (Get-Item $file) -destination (Get-Item $file).Name.Substring(0, (Get-Item $file).Name.LastIndexOf('_')) } 1 Zitieren
Beste Lösung plastikjoe 10 Geschrieben 19. Oktober 2017 Autor Beste Lösung Melden Geschrieben 19. Oktober 2017 Jo, mach ich, danke Euch. Zitieren
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.