Bestimmte Ordner aus einem Verzeichnis mit bestimmten Dateiendungen kopieren mit cmd oder bat

Slaaa

Cadet 3rd Year
Registriert
Dez. 2019
Beiträge
45
Guten Tag,

Leute ich bin schon seit Stunden dabei hier irgendwie mit Hilfe von Chatgpt auf eine Lösung zu kommen, leider bin ich in diesem Bereich ein ordentlicher Amateur und bin mir sicher das es für andere hier ein Kinderklacks ist. Nun zum Problem:
Ich würde gerne alle Ordner (Insgesamt 849) mit der Dateiendung .jpg und .png auf ein anderes Laufwerk rüber kopieren.
Ich werde einige Fotos beifügen damit ihr genau wisst was mein Ziel sein soll.
Ich wäre für jede Hilfe unendlich dankbar, fals mehr Informationen benötigt werden bitte einfach reinschreiben.
Auf den Bildern zusehen ist einmal um welche Ordner es geht und auf dem anderen die bat Datei und den CMD Befehl den mir ChatGPT gegeben hat, allerdings wnen ich drauf klicke, erscheint die Massage "Fertig eine beliebe Taste drücken" allerdings geschieht dann nichts.
Ich habs gestern schon Stunden land mit CMD versucht, leider gab es da auch ständig Fehler. Das Zielordner ist F:\Fotos (USB Stick)
 

Anhänge

  • bat1.png
    bat1.png
    16,5 KB · Aufrufe: 157
  • so sieht das aus das ist der quellordner.png
    so sieht das aus das ist der quellordner.png
    55,7 KB · Aufrufe: 100
  • bat2.png
    bat2.png
    28,7 KB · Aufrufe: 100
Zuletzt bearbeitet:
txt ist nicht bat.

Aber: Wieso kopierst du nicht per Windows Explorer? Wenn du alle z.B
jpg Dateien haben willst, dann rechts oben in die Suche jpg oder *.jpg eintippen.

Hätte in dem Skript sonst erwartet, das die Dateien auf eine bestimmte Größe geprüft werden oder ob diese nicht defekt sind.
 
  • Gefällt mir
Reaktionen: dermoritz, Slaaa und areiland
Wenn man Cmd-spezifische Befehle nutzt, dann muss das Cmd-Script die Endung .cmd besitzen!
 
klapproth schrieb:
txt ist nicht bat.

Aber: Wieso kopierst du nicht per Windows Explorer? Wenn du alle z.B
jpg Dateien haben willst, dann rechts oben in die Suche jpg oder *.jpg eintippen.

Hätte in dem Skript sonst erwartet, das die Dateien auf eine bestimmte Größe geprüft werden oder ob diese nicht defekt sind.
Omg digga du bist mein Held, bin ich ja mal überhaupt nicht drauf gekommen, holy fuck danke dir!
 
  • Gefällt mir
Reaktionen: JumpingCat
Falls und wenn der Code funktioniert, pack den doch mal als (Code)Text und nicht als Screnshot hier in den Thread, für zukünftige Generationen, danke
 
  • Gefällt mir
Reaktionen: Slaaa
areiland schrieb:
Wenn man Cmd-spezifische Befehle nutzt, dann muss das Cmd-Script die Endung .cmd besitzen!
Nachfrage: welche so CMD-spezifischen Dinge gibt esdenn, dass die in .BAT nicht laufen?
BAT tut auch nicht mehr als die Zeile faktisch zu tippen und abzuschicken, ganz als hätte ich es selber getan.

CN8
 
"Setlocal enabledelayedexpansion" ist ein Cmd-spezifisches Feature, das bei .bat nicht beachtet wird. Wenn die Endung .bat genutzt wird, werden nämlich im wesentlichen nur die Features und Syntaxes ausgeführt, die Command.com beherrschte. Genau deshalb gibts nämlich die Endung .cmd, obwohl .bat auch noch unterstützt wird. So doof ist nämlich auch Cmd.exe inzwischen nicht mehr.

So manches Script hat plötzlich schon völlig anders gearbeitet, nachdem man die Endung von .bat auf .cmd geändert hat. Könnte man auch inzwischen wissen, denn es war hier schon öfter der Fall, dass man auf diesen kleinen Unterschied aufmerksam gemacht hat.
 
areiland schrieb:
Setlocal enabledelayedexpansion
Interessant.
Ich habe Batches mit einfach verschachtelten FOR-Schleifen, da brauche ich es und siehe, es funktioniert.

Nun lese ich so lange Magazine, noch von DOS her. Nie wurde thematisiert auf *.CMD zu wechseln weil das offenbar für die Praxis nutzlos ist. Und da war PowerShell noch nicht opportun. 😉

CN8
 
Zurück
Oben