Batch Datei kopieren in Verzeichnis in Pfad mit Sonderzeichen
Guten Tag,
trotz eines Beitrags von bastla https://www.administrator.de/index.php?content=36547 bleiben bei mir noch Fragen ...
Ich möchte gerne auch eine Datei kopieren. Allerdings kommen im Pfad Sonderzeichen oder öäü vor. Außerdem fragt er, ob es sich beim Ziel um eine Datei oder um einen Ordner handelt.
Gerne würde ich den Pfad aus einer Datei auslesen und eine Datei in diesen Pfad kopieren, trotz Sonderzeichen. Alles ohne Nachfrage...
liesmla.txt soll kopiert werden. In location.txt steht der Pfad, z.B. "C:\Temp\Daten zum Löschen\Neuer Ordner"
Muss der ohne Anführungszeichen stehen, oder liegt es vielleicht daran?
Irgendwie verstehe ich die Syntax nicht, der kopiert mir mehrere Dateien in das aktuelle Verzeichnis, aber nicht da hin wo er soll...
Vielleicht kann noch einmal jemand draufgucken
Danke, OKIDOKI
trotz eines Beitrags von bastla https://www.administrator.de/index.php?content=36547 bleiben bei mir noch Fragen ...
Ich möchte gerne auch eine Datei kopieren. Allerdings kommen im Pfad Sonderzeichen oder öäü vor. Außerdem fragt er, ob es sich beim Ziel um eine Datei oder um einen Ordner handelt.
Gerne würde ich den Pfad aus einer Datei auslesen und eine Datei in diesen Pfad kopieren, trotz Sonderzeichen. Alles ohne Nachfrage...
for /L %%i in (1,1,5) do copy /y liesmal.txt location%%i.txt
liesmla.txt soll kopiert werden. In location.txt steht der Pfad, z.B. "C:\Temp\Daten zum Löschen\Neuer Ordner"
Muss der ohne Anführungszeichen stehen, oder liegt es vielleicht daran?
Irgendwie verstehe ich die Syntax nicht, der kopiert mir mehrere Dateien in das aktuelle Verzeichnis, aber nicht da hin wo er soll...
Vielleicht kann noch einmal jemand draufgucken
Danke, OKIDOKI
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 180243
Url: https://administrator.de/forum/batch-datei-kopieren-in-verzeichnis-in-pfad-mit-sonderzeichen-180243.html
Ausgedruckt am: 06.04.2025 um 04:04 Uhr
21 Kommentare
Neuester Kommentar

moin,
[OT]40 Tage weg und nix verpasst[/OT]
Irgendwie verstehe ich die Syntax nicht, der kopiert mir mehrere Dateien in das aktuelle Verzeichnis, aber nicht da hin wo er soll...
- meistens hilft es schon, wenn man komplex erscheinende Zusammenhänge zerlegt und sich dann informiert, was ein einzelner Schritt macht.
C:\>copy /?
Kopiert eine oder mehrere Dateien an eine andere Position.
COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/A | /B] Quelle [/A | /B]
[+ Quelle [/A | /B] [+ ...]]
[Ziel [/A | /B]]
[OT]40 Tage weg und nix verpasst[/OT]
Hallo OKIDOKI!
Wenn Du vorweg
verwendet hast, musst Du natürlich auch die Variable %location% angeben (da ansonsten, wie Du ja schon bemerkt hast, natürlich nur der Text "location" verwendet wird):
Da Du hier "
Anführungszeichen pflege ich erst bei der Verwendung zu setzen, nicht bereits bei der Zuweisung zur Variablen (das erste Anführungszeichen ober befindet sich schon vor dem Variablennamen).
Hinsichtlich der Sonderzeichen: Wenn Du diese mit einem ASCII-Editor eingibst oder etwa per
aus der CMD-Shell die entsprechende Zeile erzeugst, sollten sie auch funktionieren ...
Grüße
bastla
P.S.: Für den oben ("trotz eines Beitrags von bastla") verlinkten Beitrag kann ich aber nix ...
Wenn Du vorweg
set "location=C:\Temp\Daten zum Löschen\Neuer Ordner"
for /L %%i in (1,1,5) do copy liesmal.txt "%location%\%%i.txt"
copy
" in einem Batch verwendest, braucht es für das Überschreiben einer ev schon vorhandenen Zieldatei kein "/y
" (steht etwas unterhalb des von T-Mo geposteten Auszugs in der Onlinehilfe).Anführungszeichen pflege ich erst bei der Verwendung zu setzen, nicht bereits bei der Zuweisung zur Variablen (das erste Anführungszeichen ober befindet sich schon vor dem Variablennamen).
Hinsichtlich der Sonderzeichen: Wenn Du diese mit einem ASCII-Editor eingibst oder etwa per
echo set "location=C:\Temp\Daten zum Löschen\Neuer Ordner">Batchdatei.cmd
Grüße
bastla
P.S.: Für den oben ("trotz eines Beitrags von bastla") verlinkten Beitrag kann ich aber nix ...

Salü Bastla,
ich vermute, der Kollege wil gar nicht forlen, sondern stinknormal forfen.
also nix mit Zähler - mir scheint dieses Tutorial, von dem ich früher immer dachte, es wäre garnicht nötig, müsste mal gefunden werden.
Man(n) könnte Alternativ natürlich den anderen Teil der Befehlskette ähnlich zerlegen und den via /? erzeugten Output man inputten.
Gruß
ich vermute, der Kollege wil gar nicht forlen, sondern stinknormal forfen.
also nix mit Zähler - mir scheint dieses Tutorial, von dem ich früher immer dachte, es wäre garnicht nötig, müsste mal gefunden werden.
Man(n) könnte Alternativ natürlich den anderen Teil der Befehlskette ähnlich zerlegen und den via /? erzeugten Output man inputten.
Gruß
Moin OKIDOKI,
Vergleiche mal bastlas "Set /p Location="-Zeile mit deiner "set location="-Zeile...
Grüße
Biber
Vergleiche mal bastlas "Set /p Location="-Zeile mit deiner "set location="-Zeile...
Grüße
Biber
moin zusammen,
Ich weis ja nicht, wie ihr das seht. Vllt stehen einfach nur zuviel Bäume vor dem Wald. Aber:
Da es bisher knapp vorbeigeschrammt ist,vfolgender Vorschlag:
Nimm xcopy - das erstellt auch den fehlenden Pfad mit.
PS. soll jetz Liesl dorthin oder kommt es dort her?
Pps.
Ich weis ja nicht, wie ihr das seht. Vllt stehen einfach nur zuviel Bäume vor dem Wald. Aber:
Die Anforderung
for /L %%i in (1,1,5) do copy /y liesmal.txt location%%i.txt
liesmla.txt soll kopiert werden. In location.txt steht der Pfad, z.B. "C:\Temp\Daten zum Löschen\Neuer Ordner"
Inhalt location.txt: C:\Temp\Daten zum Löschen\Neuer Ordner (also ohne Anführungszeichen)
liesmla.txt soll kopiert werden. In location.txt steht der Pfad, z.B. "C:\Temp\Daten zum Löschen\Neuer Ordner"
Inhalt location.txt: C:\Temp\Daten zum Löschen\Neuer Ordner (also ohne Anführungszeichen)
Da es bisher knapp vorbeigeschrammt ist,
Nimm xcopy - das erstellt auch den fehlenden Pfad mit.
@echo off & setlocal
chcp 1252>nul
set /p location=< location.txt
for /L %%i in (1,1,5) do xcopy liesmal.txt "%location%\%%i.txt"
chcp 850>nul
PS. soll jetz Liesl dorthin oder kommt es dort her?
der kopiert mir mehrere Dateien in das aktuelle Verzeichnis, aber nicht da hin wo er soll...
Pps.
die Verwendung der Zählschleife sieht etwas abenteuerlich aus ...
ist auch nur ein copy and paste Syntaxfehler.
moin,
- Gegenfrage 1: Sind Le
herzeichen im Pfad zu erwarten? - Gegenfrage 2: wieviel Gewicht spart du beim versenden der Batch, wenn die unnützerweise Anführungszeichen mitführt?
- Gegenfrage 3: Hattest du schon Erfolg beim finden des Tutorials zur Schleifenbildung?
Hallo OKIDOKI!
Unter der Annahme, dass es den Zielpfad tatsächlich noch nicht gäbe, wäre der Vorschlag von PH sinnvoll, "
In der Textdatei braucht der Pfad keine Füße - erst bei der Verwendung im Kopierbefehl sind sie dann sinnvoll bzw aufgrund Deines Beispieles auch nötig ...
Grüße
bastla
Unter der Annahme, dass es den Zielpfad tatsächlich noch nicht gäbe, wäre der Vorschlag von PH sinnvoll, "
xcopy
" zu verwenden:@echo off & setlocal
chcp 1252>nul
set /p "location=<location.txt"
xcopy /y liesmal.txt "%location%\"
chcp 850>nul
Grüße
bastla
issjahglor
isjahrochvöllig anners als
1.eres Erwartet eine Eingabe und letzteres setzt als VariablenInhalt die erste Zeile der Datei.
set /p "location=<location.txt"
set /p location=<location.txt
1.eres Erwartet eine Eingabe und letzteres setzt als VariablenInhalt die erste Zeile der Datei.
Zitat von @Biber:
Vergleiche mal bastlas "Set /p Location="-Zeile mit deiner "set location="-Zeile...
Vergleiche mal bastlas "Set /p Location="-Zeile mit deiner "set location="-Zeile...
Zitat von @pieh-ejdsch:
Ich weis ja nicht, wie ihr das seht. Vllt stehen einfach nur zuviel Bäume vor dem Wald.
ist auch nur ein copy and paste Syntaxfehler.
Ich weis ja nicht, wie ihr das seht. Vllt stehen einfach nur zuviel Bäume vor dem Wald.
ist auch nur ein copy and paste Syntaxfehler.