MS DOS: Eine Datei in div. Verzeichnisse kopieren

Hallo,

ich möchte mir unter Dos (Eingabefenster unter WindowsXP Prof) eine CMD Datei schreiben.

Dabei soll eine bestimmte Datei in mehrere Verzeichnisse kopiert werden.
Die Schwierigkeit erhöht sich, da er nur in Verzeichnisse kopieren soll, die jeweils gleich (Vorgabe: z.B. Test) beginnen.

Datei: C:\test.txt

kopieren in:

allen Verzeichnissen, die

  • im Ordner C:\Programme\
  • und mit Test beginnen

z.B.
C:\Programme\Test12
C:\Programme\Tester

Wer kann helfen?

:wink:

Vielen Dank

Eckhard

Hallo!

Vielleicht so:

for /D %%f in (C:\Programme\Test\*) do copy C:\test.txt "%%f"

Gruß, Jan

Hallo Jan,

echt super! Vielen Dank! Die Antwort klappt auch, wenn es das Hauptverzeichnis ist. Kommt nach der Variablen allerdings noch ein festes Verzeichnis, klappt es anscheinend nicht…

weisst du, woran es liegt?

das möchte ich , dass es klappt (wie geschrieben, nach der Variblen VR* kommt noch ein abschließender Pfad)

for /D %%f in (C:\Programme\VR*\Okular\KRM) do copy C:\000_VRC\VRC_Read_PROD\krm.ini „%%f“

Viele Grüße,

Eckhard

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo!

weisst du, woran es liegt?

Die Platzhalter ? und * funktionieren nur in einem Verzeichnis, nicht innerhalb eines Verzeichnispfades.

das möchte ich , dass es klappt (wie geschrieben, nach der
Variblen VR* kommt noch ein abschließender Pfad)

for /D %%f in (C:\Programme\VR*\Okular\KRM) do copy
C:\000_VRC\VRC_Read_PROD\krm.ini „%%f“

Mach doch einfach:

for /D %%f in (C:\Programme\VR\*) do copy C:\000\_VRC\VRC\_Read\_PROD\krm.ini "%%f\Okular\KRM\"

Das ist allerdings nicht ganz dasselbe, weil nicht geprüft wird, ob „\Okular\KRM“ überhaupt existiert. Wenn das ein Problem ist, müsste man mit exist das vorher noch prüfen.

Gruß, Jan

1 Like

Hallo!

sehr gut… das exit brauche ich noch nichtmal, weil er dann einfach in das verzeichnis nichts reinmacht und trotzdem weiterguckt…

insofern hast du meine anforderung 100% erfüllt!!!

Vielen Dank nochmal!!!

Stern haste von mir bekommen.

Viele Grüße,

Eckhard

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

nun habe ich ein (letztes) Folgeproblem…

ich möchte als Verzeichnispfad den Windows XP Desktop angeben. Leider macht er es wohl nicht wegen a) der Leerzeichen oder b) wegen dem Ü bei Startmenü (Ü wird zu hoch 3 ?). Auch in Anführungszeichen setzen hat nix gebracht…

for /D %%f in („C:\Dokumente und Einstellungen\All Users\Startmenü\Programme\VR*“) do copy C:\000_VRC\VRC_EDIT_WART\wartung.txt „%%f“

Haste noch ne gute Idee?

Hallo!

ich möchte als Verzeichnispfad den Windows XP Desktop angeben.
Leider macht er es wohl nicht wegen a) der Leerzeichen oder b)
wegen dem Ü bei Startmenü (Ü wird zu hoch 3 ?). Auch in
Anführungszeichen setzen hat nix gebracht…

Nur der Umlaut ist das Problem, bzw. der verwendete Zeichensatz.
2 Möglichkeiten:

1.) Statt *\Startmenü* schreibst du **\STARTM~1**. Das ist das 8.3-Format.

2.) Die Batch-Datei mit dem DOS-Editor edit bearbeiten, also dort ³ durch ü ersetzen.

Gruß, Jan

Hallo,

leider funktioniert beides nicht…

for /D %%f in („C:\Dokumente und Einstellungen\All Users\Startmen~1\Programme\VR*“) do copy C:\000_VRC\VRC_EDIT_WART\wartung.txt „%%f“

Ohne die Anführungsstiche zerhackt er mir das Verzeichnis in 3…

  • C:\Dokumente
  • und
  • Einstellungen\All Users\Startmen~1\Programme\VR*"

Mit der 3 hatte ich auch schon probiert… klappt alles leider net…

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo!

for /D %%f in („C:\Dokumente und Einstellungen\All
Users\Startmen~1\Programme\VR*“) do copy
C:\000_VRC\VRC_EDIT_WART\wartung.txt „%%f“

Das ist ja auch nicht richtig. STARTM~1 schrieb ich, Startm~1 geht aber auch.

Mit der 3 hatte ich auch schon probiert… klappt alles leider
net…

Mit der 3?

Jan

Großer Meister,

Bingo ! Das war es, wer lesen kann, ist klar im Vorteil!

Vielleicht weisst du ja nun noch, wie ich die wartung.txt wieder generell aus den Verzeichnissen löschen kann:

for /D %%f in („C:\Dokumente und Einstellungen\All Users\Startm~1\Programme\VR*“) do del C:\000_VRC\VRC_EDIT_WART\wartung.txt „%%f“

Hier ist das Problem, dass er immer ein Bestätigen haben will. Mit "echo… " habe ich mir schon alles im Verzeichnis gelöscht…grrr…

Wie gesagt, er soll nur die Wartung.txt in den Verzeichnissen löschen.

Hast Du einen letzen Rat?

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]