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
Dukel 468 Geschrieben 17. Oktober 2017 Melden Geschrieben 17. Oktober 2017 Nimm Powershell. Damit hast du mehr Spaß.
plastikjoe 10 Geschrieben 17. Oktober 2017 Autor Melden Geschrieben 17. Oktober 2017 Gute Idee, wie gehts in Powershell?
Dukel 468 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"?
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
Sunny61 833 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
Dukel 468 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
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?
Sunny61 833 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
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!
Dukel 468 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
Beste Lösung plastikjoe 10 Geschrieben 19. Oktober 2017 Autor Beste Lösung Melden Geschrieben 19. Oktober 2017 Jo, mach ich, danke Euch.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden