stonson25 11 Geschrieben 5. Juli 2017 Melden Teilen 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 Link zu diesem Kommentar
Sanches 22 Geschrieben 5. Juli 2017 Melden Teilen 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 Link zu diesem Kommentar
TheCracked 13 Geschrieben 5. Juli 2017 Melden Teilen 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 Link zu diesem Kommentar
testperson 1.675 Geschrieben 5. Juli 2017 Melden Teilen 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 Link zu diesem Kommentar
stonson25 11 Geschrieben 5. Juli 2017 Autor Melden Teilen 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 Link zu diesem Kommentar
LEDZEPPELIN 0 Geschrieben 9. Dezember 2020 Melden Teilen 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. Link zu diesem Kommentar
Damian 1.532 Geschrieben 11. Dezember 2020 Melden Teilen 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 Link zu diesem Kommentar
Empfohlene Beiträge