keinplan01
Goto Top

Bestimmte Dateien automatisch per Batch in Ordner sortieren

Hallo zusammen,

ich hoffe es kann mir hier jemand mit einem kleinen Batch-File helfen. Ich komme leider nicht weiter...

Also ich habe in einem Ordner zig Dateien liegen, die alle nach dem gleichen Schema benannt sind:
JJJJ-MM-TT_Bereich_xx-Richtung, also z.B. 2021-02-15_Fussball_01-Rechts
Die weiteren Dateien unterscheiden sich dann nur durch die fortlaufende Nummer bei xx, also _02, _03, etc. Dazu muss ich sagen, dass es jeweils zwei unterschiedliche Dateitypen mit dem gleichen Namen gibt.
Ich möchte diese, je zwei Dateien, nun in Ordner verschieben, die schon existieren. Die Ordner heißen 01, 02, 03 etc.
Am besten wäre es, wenn die Batchdatei so aufgebaut ist, dass ich sie einfach in den Zielordner schieben kann, in dem die durchnummerierten Ordner liegen. Der Source-Ordner ist fix.

Vielen Dank vorab für die Unterstützung.

Gruß

Kein KeinPlan01

Content-Key: 652510

Url: https://administrator.de/contentid/652510

Printed on: April 19, 2024 at 06:04 o'clock

Member: TomTomBon
TomTomBon Feb 15, 2021 at 21:09:30 (UTC)
Goto Top
Moin

Und was soll wohin?

Ja, eine Batch kann nach einem festen Muster hinterlegte Dateien automatisch verschieben.
Das kann Robocopy aber übrigens auch und noch besser.

Nur muss klar sein WELCHER INDEX (Rechts??) WOHIN soll face-smile

Zu Robocopy findet man sehr viel Infos im Netz und auch in der CMD mit Robocopy /?

So long
Member: TomTomBon
TomTomBon Feb 15, 2021 at 21:29:30 (UTC)
Goto Top
PS
DEINE Arbeit ist das Denken.
Das vergessen viele Fragende hier.
Hintergrund Infos zu haben, vielleicht auch passende Lösungen, auf jedenfall Ansätze.
DAS kann man sich erhoffen hier zu bekommen face-smile


Aber die wichtigste Aufgabe für den Fragenden ist die Stellung der aufgabe.
Sie muss wie in der Mathematik eineindeutig sein.
Wenn Helfende Probleme dabei sehen ist es eine Sache, dann sollte geholfen werden.
Aber Ansätze die mehr sind als ein "Ungefähr so sollte es sein, einmal bitte die Lösung" sollte es IMMER sein.


Seht bitte die IT, die Programmierung wie Mathematik an!
Nicht die Lösung ist Mathematik, aber die Aufgabenstellung sollte immer wie eine Matheaufgabe sein!
Wie eine Textaufgabe face-smile
Mitglied: 147669
Solution 147669 Feb 16, 2021, updated at Feb 17, 2021 at 23:06:24 (UTC)
Goto Top
@echo off
for %%a in ("D:\Ordner}\*") do for /f "tokens=5 delims=_-" %%b in ("%%~na") do move  "%%a" "%~dp0%%b\  
Member: KeinPlan01
KeinPlan01 Feb 16, 2021 at 20:37:43 (UTC)
Goto Top
Danke für den Vorschlag. Leider funktioniert das so nicht.
Ich kann ja mal posten, was ich bisher schon gemacht habe:

@echo off

setlocal

set "srcdir=C:\Users..."
set "destdir=%cd%"

for /f "tokens=3 delims=_ " %%i in ('dir "%srcdir%" /b /-p /a:-d /o:gne') do (
if not exist "%destdir%\%%i" md "%destdir%\%%i"
move "%srcdir%\%%i" "%destdir%\%%i"


echo "%destdir%\%%i"
echo.
)

endlocal

Das Problem ist, dass mir zwar, falls nicht vorhanden ein neuer Ordner, mit richtigem Namen erstellt wird (nice to have), aber keine Datei verschoben wird, Vielleicht kann mir ja jemand auf der Basis bei der Lösung helfen!

Bin für jede konstruktive Hilfe dankbar!
Mitglied: 147669
Solution 147669 Feb 17, 2021 at 06:29:22 (UTC)
Goto Top
Geht hier einwandfrei, da du oben geschrieben hast das die Ordner schon existieren habe ich deren Erstellung nicht mit rein genommen aber das ist ja ein Kinderspiel das nachzuholen!
Member: KeinPlan01
KeinPlan01 Feb 17, 2021 at 20:16:47 (UTC)
Goto Top
Ich habe es jetzt hinbekommen! "Usebackq" musste ich weglassen. Läuft alles wie geplant jetzt! Vielen Dank!!