haldoperidol
Goto Top

Zeilenweises Kopieren von Pfaden innerhalb einer Datei via Batch

Hallo Leute, vielen dank für Eure Hilfe im Vorfeld, meine Batch Kenntnisse reichen leider nichts aus face-sad

Hallo Leute,
ich möchte zu Hause verschiedene Dateien migrieren, die ich leider in unterschiedlichen Pfaden und Ordnern gespeichert habe.
Nun habe ich via "dir /s /b / a H:\Ordnername\*.ipg > bilder.txt" die datei bilder.txt erstellt, in der die Pfade der einzelnen Suchergebniss
geschrieben worden sind.

Nun möchte ich die Dateien in den Pfaden an einen bestimmten Ordner kopieren und anschließend die Inhalte der alten Pfade löschen.
Das ganze soll über ne CPrompt/Batch realisiert werden.

ich weiss es muss irgendwie mit for funktionieren, allerdings funktionieren meine Ansätze leider nicht.

vielen Dank im Vorfeld, grüsse h.

Content-Key: 158631

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

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

Mitglied: 60730
60730 Jan 14, 2011 at 06:51:59 (UTC)
Goto Top
moin,

so ganz genau - hab ich nicht verstanden, was du vorhast.
Hast du da noch ein paar zusatzinfos in Zeilenform?

btw: Den Ansatz von A nach b kopieren und dann in a zu löschen - würde ich einfacher stricken
  • move a b

Gruß
Member: haldoperidol
haldoperidol Jan 14, 2011 at 07:02:40 (UTC)
Goto Top
Servus,
danke für die schnelle Antwortface-smile

also in der Datei habe ich die Pfade der ganzen Bilder die ich abgelegt habe.
jetzt möchte ich jedes Bild im entsprechenden Pfad an einen bestimmten Folder kopieren oder wie du sagst verschieben. Ziel ist es die ganze Bilder Flut die ich auf der Platte, in verschiedenen Foldern und Subfoldern, rumfahren habe in einen bestimmten Folder zu sammeln und bei Erfolg die alten Bilder inklusive Pfade zu löschen.

habe es so versucht:
step 1: dir /s /b / a H:\Ordnername\*.ipg > bilder.txt
step 2: for /f %a %a in (bilder.txt) do copy H:\NeuerOrdner

habe verschiedene variationen von step 2 ausprobiert und da muss irgendwo der fehler liegen,
wahrscheinlich fehlt da irgendein index oder parameter

merci, gruss h.
Mitglied: 60730
60730 Jan 14, 2011, updated at Oct 18, 2012 at 16:45:30 (UTC)
Goto Top
Salü und nachträglich willkommen.

  • Kennst du schon die For Anleitung?
  • Leider ist der Groschen immer noch nicht gefallen (wir haben Bilder verschieben in allen möglichen varianten schon durchgekaspert) - nach Name, Größe, Datum usw. aber wonach du deine Bilder verschieben willst - kommt noch nicht an (Trotz Kaffee im Kopf) face-wink

for /r H:\Ordnername\%a in (*.cmd) do echo move "%a" "H:\NeuerOrdner\"

Das wäre dann ganz stumpf ohne firlefanz

Der Bellt nur, beisst nicht, der maulkorb nennt sich Echo und ein % ist cmd zwei %% batch.

gruß
Member: haldoperidol
haldoperidol Jan 14, 2011 at 08:45:41 (UTC)
Goto Top
nun, es war eigentlich so gedacht:

alle arten von dateien mit der endung *.jpg egal wo sie liegen werden mit pfad struktur in eine datei geschrieben.

alle bilder, verwiesen mit den einzelnen pfaden in der datei, sollen kopiert oder verschoben werden.

Verschieben oder kopieren soll demnach nach der erstellten, also einer datei.txt, geschehen.

gruss c.
Mitglied: 60730
60730 Jan 14, 2011 at 09:33:05 (UTC)
Goto Top
naja dann...

dieses "in eine Datei schreiben, um diese auszulesen" - ist eigentlich nur ein fieser Workaround, den man nur dann nimmt, wenn es anders nicht geht.

Als banales Bananenschalenbeispiel:
for /r H:\Ordnername\%a in (*.cmd) do echo move "%a" "H:\NeuerOrdner\">>2do.cmd  
2do.cmd
So hast du deine Datei, die auch "ausgelesen" abgearbeitet wird face-wink

Und wenn es wirklich so "platt" ist und die Pfade übernommen werden sollen - ist es so "einfacher".
xcopy quelle\*.jpg ziel\ /s
del quelle\*.jpg /s

Gruß