1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

DOS - For-command

Discussion in 'Software allgemein' started by hajo, May 7, 2011.

Thread Status:
Not open for further replies.
  1. hajo

    hajo Kbyte

    Hallo,
    mir gelingt es nicht, mit einer for-Schleife Dateien aus einem Ordner mit Unterordnern in einen Zielordner (ohne Unterordner) zu kopieren.
    Die Hinweise unter Google funktionieren nicht.

    Mein letzter Versuch mit

    for /r H:\Temp1 %%i in (*.*) do xcopy /m /y %1 "H:\Temp\" %%i

    bringt für alle in H:\Temp1 vorhandenen Dateien folgende Fehlernachricht:

    Z:\TSW>xcopy /m /y H:\Temp\ H:\Temp1\Bachstelze\Bachstelze-2010-2.JPG
    Ungültiger Pfad
    0 Datei(en) kopiert

    Hilft mir jemand weiter?
    Danke
     
  2. magiceye04

    magiceye04 Wandelndes Forum

    Hast Du vielleicht Quelle und Ziel verwechselt?
    Zumindest ergibt der Befehl aus der Fehlermeldung, daß Du das Verzeichnis H:\Temp\ in die Datei H:\Temp1\Bachstelze\Bachstelze-2010-2.JPG kopieren willst, was ja irgendwie schlecht geht.
     
  3. hajo

    hajo Kbyte

    H:\Temp\ ist das Zielverzeichnis.
     
  4. magiceye04

    magiceye04 Wandelndes Forum

    Hab ich mir schon gedacht, aber der Copy-Befehl ist (warum auch immer) verkehrt herum. Darum würde ich testweise mal beides tauschen.
     
  5. hajo

    hajo Kbyte

    Die Reihenfolge ist schon richtig; mit geänderter Reihenfolge tut sich nichts, weil der Sendeordner H:\Temp leer ist.
     
  6. magiceye04

    magiceye04 Wandelndes Forum

    Tja, der xcopy-Befehl arbeitet aber nach dem Prinzip "xcopy quelle ziel". Also muß Dein Befehl das irgendwie auch entsprechend abbilden.
    Also H:\Temp\ muß hinter die Bachstelze.
     
  7. hajo

    hajo Kbyte

    nach längeren Versuchen:

    Befehlszeile:
    H:\Batch-XP>for /R H:\Temp1 %i in (*.jpg) do xcopy %i /m /y "H:\Temp\"

    .........................................................................
    Nachrichtenzeilen:
    H:\Batch-XP>xcopy H:\Temp1\B-NC9018.jpg /m /y "H:\Temp\"
    Ungültige Laufwerkangabe
    0 Datei(en) kopiert
    Das Sprungziel - ende wurde nicht gefunden.

    H:\Batch-XP>xcopy H:\Temp1\Bachstelze\Bachstelze-2010-2.JPG /m /y "H:\Temp\"
    Ungültige Laufwerkangabe
    0 Datei(en) kopiert
    Das Sprungziel - ende wurde nicht gefunden.
    ..........................................................................

    Es werden alle Dateien angesprochen. Die Nachricht 'Ungültige Laufwerkangabe' ist mir unverständlich, weil das Verz. existiert.

    Was soll das 'Sprungziel - ende' sein?
     
  8. magiceye04

    magiceye04 Wandelndes Forum

    Das Ziel ist in Hochkommas, warum? Die stören bestimmt.
    Außerdem muß das Ziel vor den Optionen kommen.
    Also: xcopy quelle ziel /optionen
    Wenns dann immer noch nix wird, versuche H:\Temp\*.* als Ziel
     
  9. hajo

    hajo Kbyte

    Batch:

    for /R H:\Temp1 %%i in (*.JPG) do xcopy %%i H:\Temp\*.* /m /y
    pause
    goto ende
    :ende
    .............................................................................................

    Ergebnis:

    H:\Batch-XP>xcopy H:\Temp1\B-NC9018.jpg H:\Temp\*.* /m /y
    Ungültige Laufwerkangabe
    0 Datei(en) kopiert
    Das Sprungziel - ende wurde nicht gefunden.

    H:\Batch-XP>xcopy H:\Temp1\Bachstelze\Bachstelze-2010-2.JPG H:\Temp\*.* /m /y
    Ungültige Laufwerkangabe
    0 Datei(en) kopiert
    Das Sprungziel - ende wurde nicht gefunden.
     
  10. magiceye04

    magiceye04 Wandelndes Forum

    Dann kann ich mir nur noch vorstellen, daß sich ein Tippfehler eingeschlichen hat.
    Bei mir funktioniert der Befehl exakt so, wenn ich ihn manuell eintippe. Hast Du das schon mal probiert?
     
  11. hajo

    hajo Kbyte

    Ergebnis der manuellen Eingabe ( es wird nur bis zum ersten Unterordner kopiert):


    [ 9:43:55] C:\WINDOWS\system32>
    for /R H:\temp1 %i in (*.jpg) do xcopy %i H:\temp\*.*

    [ 9:44:49] C:\WINDOWS\system32>
    xcopy H:\temp1\B-NC9018.jpg H:\temp\*.*
    H:\temp1\B-NC9018.jpg
    1 Datei(en) kopiert

    [ 9:44:49] C:\WINDOWS\system32>
    xcopy H:\temp1\Bachstelze\Bachstelze-2010-2.JPG H:\temp\*.*
    H:\temp1\Bachstelze\Bachstelze-2010-2.JPG
    1 Datei(en) kopiert

    [ 9:44:49] C:\WINDOWS\system32>
    xcopy H:\temp1\Bachstelze\Bachstelze-2010-3.JPG H:\temp\*.*
    H:\temp1\Bachstelze\Bachstelze-2010-3.JPG
    1 Datei(en) kopiert

    [ 9:44:49] C:\WINDOWS\system32>
    xcopy H:\temp1\Bachstelze\Bachstelze-2010.JPG H:\temp\*.*
    H:\temp1\Bachstelze\Bachstelze-2010.JPG
    1 Datei(en) kopiert

    [ 9:44:49] C:\WINDOWS\system32>
    xcopy H:\temp1\Billard\Billard mit Riehns-1.JPG H:\temp\*.*
    Unzulässige Parameteranzahl

    [ 9:44:49] C:\WINDOWS\system32>
    xcopy H:\temp1\Billard\Billard mit Riehns-2.JPG H:\temp\*.*
    Unzulässige Parameteranzahl

    [ 9:44:49] C:\WINDOWS\system32>

    ........................................................................................

    Die Dateinamen im zweiten Unterordner enthielten Lehrstellen.

    Nach deren Beseitigung wurde nur der zweite Unterordner kopiert!:


    [ 9:47:56] C:\WINDOWS\system32>
    for /r H:\temp1 %i in (*.jpg) do xcopy %i H:\temp1\*.* /m /y

    [ 9:49:01] C:\WINDOWS\system32>
    xcopy H:\temp1\B-NC9018.jpg H:\temp1\*.* /m /y
    0 Datei(en) kopiert

    [ 9:49:01] C:\WINDOWS\system32>
    xcopy H:\temp1\Bachstelze\Bachstelze-2010-2.JPG H:\temp1\*.* /m /y
    0 Datei(en) kopiert

    [ 9:49:01] C:\WINDOWS\system32>
    xcopy H:\temp1\Bachstelze\Bachstelze-2010-3.JPG H:\temp1\*.* /m /y
    0 Datei(en) kopiert

    [ 9:49:01] C:\WINDOWS\system32>
    xcopy H:\temp1\Bachstelze\Bachstelze-2010.JPG H:\temp1\*.* /m /y
    0 Datei(en) kopiert

    [ 9:49:01] C:\WINDOWS\system32>
    xcopy H:\temp1\Billard\BillardmitRiehns-1.JPG H:\temp1\*.* /m /y
    H:\temp1\Billard\BillardmitRiehns-1.JPG
    1 Datei(en) kopiert

    [ 9:49:02] C:\WINDOWS\system32>
    xcopy H:\temp1\Billard\BillardmitRiehns-2.JPG H:\temp1\*.* /m /y
    H:\temp1\Billard\BillardmitRiehns-2.JPG
    1 Datei(en) kopiert

    [ 9:49:02] C:\WINDOWS\system32>

    Hallo magiceye04,
    an dieser Stelle möchte ich mich schon einmal für Deine Mühe mit einem Nicht-Dosianer bedanken!
    Wenn es sich nicht um ca. 200 Ausgangs-Ordner handeln würde, könnte ich ja jeden Einzelinhalt manuell übertragen.
    Die Möglichkeit, mit der Windows-Suche die Dateien zu ermitteln und von dort in den Ziel-Ordner zu übertragen, scheidet wegen der Größe von 4,36GB aus, da streikt Windows.

    Als es bei Dir funkioniert hat, hast Du da mit mehreren Unterordnern getestet?

    Weisst Du eventuell eine Lösung mit Robocopy?

    Vielen Dank und freundliche Grüße
    Hajo
     
  12. magiceye04

    magiceye04 Wandelndes Forum

    Ich hatte nur den XCopy-Befehl mit einer Datei getestet.
    Ist auch schon paar Jahre her, daß ich mit DOS gearbeitet habe.

    Ich nutze in Windows immer nur den TotalCommander, der hat auch eine umfangreiche Suchfunktion. Da kann man das Suchergebnis quasi wie in einem virtuellen Ordner anzeigen lassen und aus diesem kopiert man dann alle gewünschten Dateien [wohinmanwill].
    Aber ob der auch gleich die Archiv-Attribute setzen kann, weiß ich jetzt auch nicht.
     
Thread Status:
Not open for further replies.

Share This Page