stonson25 11 Geschrieben 5. Juli 2017 Melden Geschrieben 5. Juli 2017 Hallo zusammen, wir haben einen Ordner X:\Rechnungen. In diesem Ordner befinden sich Rechnungen. Die Rechnungen haben folgenden Dateinamen: 2321540-RGS-1718-45678 (.pdf) Es soll nun für jede Datei die im Dateinamen die ersten 7 Zeichen gleich hat ein eigener Ordner erstellt werden und danach in diesem Ordner verschoben werden. Ich habe im Google etwas gefunden. Das Skript funktoniert aber nur auf die letzten Zeichen: https://superuser.com/questions/1138283/batch-script-for-moving-files-to-the-same-name-folder Ich bin kein Profi in Skripten und eher in der Systemadministration tätig. Vielen Dank im Voraus für eure Hilfe. LG Stoney
Sanches 22 Geschrieben 5. Juli 2017 Melden Geschrieben 5. Juli 2017 Moin, nunja, ein fertiges Script wird dir keiner zusammenbasteln. Ein wenig testen kannst du sicherlich auch. Im Link wird ja die Stelle schon beschrieben: "!foldername:~0,-3!" strips the last three characters from foldername Versuchs doch einfach mal ohne das Minus (-) und mit deinen 7 Zeichen: "!foldername:~0,7!" Ungetestet, sollte aber in die richtige Richtung führen. Gruß Sebastian
TheCracked 13 Geschrieben 5. Juli 2017 Melden Geschrieben 5. Juli 2017 (bearbeitet) Hi, also bei mir funktioniert es so.... Was macht er denn bei dir, wenn du die Batch ausführst? LG TC @echo off setlocal enabledelayedexpansion set folderpath=c:\test for %%f in (%folderpath%\*.*) do ( set "foldername=%%~nf" md "!foldername:~0,7!" >nul 7>&1 move "%%f" "!foldername:~0,7!" ) bearbeitet 5. Juli 2017 von TheCracked
testperson 1.758 Geschrieben 5. Juli 2017 Melden Geschrieben 5. Juli 2017 Hi, Ich bin kein Profi in Skripten und eher in der Systemadministration tätig. du solltest dich so langsam mal mit der PowerShell auseinandersetzen, sofern du häufig mit Windows Servern arbeitest. Heute wird schon sehr viel gescriptet. Weniger dürfte es in den nächsten Jahren sicherlich nicht werden. So als Quick'n'Dirty Ansatz: foreach ( $Rechnung in Get-ChildItem -Path X:\Rechnungen -File ) { if (!(Test-Path -Path $Rechnung.FullName.Substring(0,19))) { New-Item -ItemType Directory -Path $Rechnung.FullName.Substring(0,19) } Move-Item $Rechnung.FullName $Rechnung.FullName.Substring(0,19) } Gruß Jan
stonson25 11 Geschrieben 5. Juli 2017 Autor Melden Geschrieben 5. Juli 2017 Hallo, @Sanches: ja das war genau das was ich gbraucht habe. @Jan: das werde ich mir zu Herzen nehmen Vielen Dank euch allen! LG Stoney
LEDZEPPELIN 0 Geschrieben 9. Dezember 2020 Melden Geschrieben 9. Dezember 2020 Ich habe eigentlich das gleiche Problem. Ich möchte Dateien die am Namensanfang gleich sind bis in einen neu zu erzeugenden Ordner verschieben. Beispiel: Auto1 Auto2 Auto3 Sollen alle in Ordner Auto verschoben werden und dieser automatisch neu erzeugt werden. Mit den Scripten oben kriege ich keine Ergebnisse. Wahrscheinlich mach ich bei der Anpassung etwas verkehrt. Wie würde das aussehen wenn der Ursprungsordner d:\Test heißt und die neuen Ordner in diesem Ordner erzeugt werden sollen? Vielen Dank.
Damian 1.654 Geschrieben 11. Dezember 2020 Melden Geschrieben 11. Dezember 2020 Hi Zur Frage von LEDZEPPELIN geht es hier weiter: https://www.mcseboard.de/topic/219171-dateien-mit-gleichen-buchstaben-am-anfang-in-neu-zu-erzeugenden-ordner-verschieben/ Der Original-Thread ist schon veraltet, daher geschlossen. VG Damian
Empfohlene Beiträge