Frage zur Batch Datei (Kopieren von Datei)
Hallo
Also ich kenne mich noch nict viel mit Batch aus und frage deswegen hier ihm Forum.
ICh habe schon gegoogled , doch nicht wirklich was gefunden.
Also ich habe eine Batch datei erstellt, die auf dem Desktop eine Txt Datei erstellt, in dieser ein Satz steht.
ZB. liesmich.txt in dieser datei steht zb. Hallo
Nun möchte ich zur dieser batch nhoch etwas hinzufücgen, und zwar das diese txt datei , also liesmich.txt 5mal kopiert wir und auch auf dem desktop gespeichert wird.
Sodass danach auf dem Desktop folgende Dateien sind liesmich.txt kopie1liesmich.txt kopie2liesmich.txt ...
Dies sollte mit hilfe von variablen geschen, da ich es auch auf anderen pcs ausführen möchte.
Hier mal was ich bis jetzt habe , es funktioniert nur das kopieren nicht
CODE:
color 2
:1
cd\
cd %userprofile%
cd Desktop
Hallo > liesmal.txt
xcopy %Desktop% liesmal.txt %desktop% liesmal.txt
Wäre sehr dankbar wenn mir jemand den kopier Code umschreiben könnte
Mfg Julian
Also ich kenne mich noch nict viel mit Batch aus und frage deswegen hier ihm Forum.
ICh habe schon gegoogled , doch nicht wirklich was gefunden.
Also ich habe eine Batch datei erstellt, die auf dem Desktop eine Txt Datei erstellt, in dieser ein Satz steht.
ZB. liesmich.txt in dieser datei steht zb. Hallo
Nun möchte ich zur dieser batch nhoch etwas hinzufücgen, und zwar das diese txt datei , also liesmich.txt 5mal kopiert wir und auch auf dem desktop gespeichert wird.
Sodass danach auf dem Desktop folgende Dateien sind liesmich.txt kopie1liesmich.txt kopie2liesmich.txt ...
Dies sollte mit hilfe von variablen geschen, da ich es auch auf anderen pcs ausführen möchte.
Hier mal was ich bis jetzt habe , es funktioniert nur das kopieren nicht
CODE:
color 2
:1
cd\
cd %userprofile%
cd Desktop
Hallo > liesmal.txt
xcopy %Desktop% liesmal.txt %desktop% liesmal.txt
Wäre sehr dankbar wenn mir jemand den kopier Code umschreiben könnte
Mfg Julian
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 36547
Url: https://administrator.de/contentid/36547
Ausgedruckt am: 22.11.2024 um 21:11 Uhr
7 Kommentare
Neuester Kommentar
Du bist bereits mit dem Befehl "cd Desktop" ins aktuelle, also ins Desktopverzeichnis, gewechselt. Für die kopierte Datei solltest Du einen anderen Namen verwenden. Sonst wird die aktuelle Datei immer wieder überschrieben.
Moin shorty1,
willkommen im Forum.
Habe hier als Mod in Seitenzweig "Batch und Shell" des Forums interessiert mitgelesen, aber auch keinen Grund gesehen, mich einzumengen.
Zu den richtigen Lösungsansätzen von Warze und Micha-HE aber noch folgender Hinweis.
cd %userprofile% ---------> funktioniert;
> damit wechselt der Batch in das Verzeichnis [C:\Dokumente und Einstellungen\DeinUsername]
...aber: bei allen anderen CMD-Befehlen außer "CD" müssen Verzeichnisnamen mit Leerzeichen im Namen in Anführungszeichen eingeklammert werden. Wird sonst als mehrere Parameter aufgefasst.
Zweitens, so wie in Deinem Beispiel, kann es sein, dass Ziel-Dateien gleichen Namens schon vorliegen, wenn der COPY-Befehl loslegt. Dazu kannst Du dem Copy-Befehl einen Parameter /Y mitgeben, der in so einem Fall bestehende Dateien ohne Murren überschreibt.
Beispiel (für beide Klippen) am CMD-Prompt:
In den drei Schritten vom CMD-Prompt aus wird deutlich, was passiert...
Das copy x.txt %userprofile% wird aufgelöst zu copy x.txt C:\Dokumente und Einstellungen\Biber und sagt deshalb "Syntaxfehler." Kann ja nicht nach 3 Orten kopieren ("C:\Dokumente"; "und"; "Einstellungen\Biber").
Das copy x.txt "%userprofile%" würde funktionieren...aber es gibt schon eine Datei dieses Namens. Deshalb die Rückfrage, die ich mit "N"ein beantwortet habe.
In Michas ösung also
Hoffe, es hilft beim Einstieg ins Bätchen
Biber
P.S. Setze bitte Deinen Beitrag auf "Gelöst" - und ein netter Zug von Dir wäre, den (vor mir) geposteten Lösungen auch eine entsprechende Bewertung ("hilfreich/sehr hilfreich") mitzugeben. Sonst mach ich das...
[Edit Feb. 2012 Gesagt, getan... - auf "Gelöst" gesetzt und geschlossen. [/Edit]
willkommen im Forum.
Habe hier als Mod in Seitenzweig "Batch und Shell" des Forums interessiert mitgelesen, aber auch keinen Grund gesehen, mich einzumengen.
Zu den richtigen Lösungsansätzen von Warze und Micha-HE aber noch folgender Hinweis.
cd %userprofile% ---------> funktioniert;
> damit wechselt der Batch in das Verzeichnis [C:\Dokumente und Einstellungen\DeinUsername]
...aber: bei allen anderen CMD-Befehlen außer "CD" müssen Verzeichnisnamen mit Leerzeichen im Namen in Anführungszeichen eingeklammert werden. Wird sonst als mehrere Parameter aufgefasst.
Zweitens, so wie in Deinem Beispiel, kann es sein, dass Ziel-Dateien gleichen Namens schon vorliegen, wenn der COPY-Befehl loslegt. Dazu kannst Du dem Copy-Befehl einen Parameter /Y mitgeben, der in so einem Fall bestehende Dateien ohne Murren überschreibt.
Beispiel (für beide Klippen) am CMD-Prompt:
>copy x.txt %userprofile%
Syntaxfehler.
(=21:30:21 D:\temp=)
>copy x.txt "%userprofile%"
C:\Dokumente und Einstellungen\Biber\x.txt überschreiben? (Ja/Nein/Alle): n
0 Datei(en) kopiert.
(=21:30:45 D:\temp=)
>copy x.txt /y "%userprofile%"
1 Datei(en) kopiert.
Das copy x.txt %userprofile% wird aufgelöst zu copy x.txt C:\Dokumente und Einstellungen\Biber und sagt deshalb "Syntaxfehler." Kann ja nicht nach 3 Orten kopieren ("C:\Dokumente"; "und"; "Einstellungen\Biber").
Das copy x.txt "%userprofile%" würde funktionieren...aber es gibt schon eine Datei dieses Namens. Deshalb die Rückfrage, die ich mit "N"ein beantwortet habe.
In Michas ösung also
for /L %%i in (1,1,5) do copy /y liesmal.txt liesmal_Kopie%%i.txt
Biber
P.S. Setze bitte Deinen Beitrag auf "Gelöst" - und ein netter Zug von Dir wäre, den (vor mir) geposteten Lösungen auch eine entsprechende Bewertung ("hilfreich/sehr hilfreich") mitzugeben. Sonst mach ich das...
[Edit Feb. 2012 Gesagt, getan... - auf "Gelöst" gesetzt und geschlossen. [/Edit]