Batch - Einzelne Dateien kopieren
Hallo,
ich habe folgendes Problem:
Ich kopiere Dateien aus einem Ordner in einen anderen - dabei nehme ich jede Datei einzeln - das soll so sein!
In meinem Script habe ich folgenden Code:
Dieser Code kopiert mir auch erfolgreich jede Datei, sofern die Variable %pfadinternneu% nicht selber die Variable %date% beinhaltet.
Was muss ich hier in der For-Bedingung Anpassen, damit der Pfad richtig angenommen wird?
Lg
Patrick
ich habe folgendes Problem:
Ich kopiere Dateien aus einem Ordner in einen anderen - dabei nehme ich jede Datei einzeln - das soll so sein!
In meinem Script habe ich folgenden Code:
1
2
3
4
2
3
4
set pfadinternneu=C:\%date%
set pfadextern=\\test
for %%i in (%pfadinternneu%\*.JPG) do copy %%i %pfadextern%
Dieser Code kopiert mir auch erfolgreich jede Datei, sofern die Variable %pfadinternneu% nicht selber die Variable %date% beinhaltet.
Was muss ich hier in der For-Bedingung Anpassen, damit der Pfad richtig angenommen wird?
Lg
Patrick
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 136578
Url: https://administrator.de/forum/batch-einzelne-dateien-kopieren-136578.html
Ausgedruckt am: 10.04.2025 um 20:04 Uhr
10 Kommentare
Neuester Kommentar
Hi,
habe zwar nicht viel Ahnung davon, aber vieleicht ist hier was dabei
http://www.google.de/#hl=de&source=hp&q=Batch+-+Einzelne+Dateie ...
lg
tmystr
habe zwar nicht viel Ahnung davon, aber vieleicht ist hier was dabei
http://www.google.de/#hl=de&source=hp&q=Batch+-+Einzelne+Dateie ...
lg
tmystr
Moin selord,
willkommen im Forum.
wer oder was könnte dich ernsthaft darin hindern diese beiden Befehle nacheinander in einem CMD-Fenster abzufeuern:
...und danach diesen abgewandelten dritten (um ein @echo ergänzt und zwei Prozentzeichen reduziert) hinterherzuschicken
??
Dann siehst du doch, wo zu viele Leerzeichen oder zu wenige Anführungszeichen stehen....
Woher sollen wir wissen, in welcher Form bei dir "%date%" ausgegeben wird?
Das weiss nicht mal Bill G. höchstselbst vor dem Einschalten des Rechners...
Grüße
Biber
willkommen im Forum.
wer oder was könnte dich ernsthaft darin hindern diese beiden Befehle nacheinander in einem CMD-Fenster abzufeuern:
1
2
2
set pfadinternneu=C:\%date%
set pfadextern=\\test
...und danach diesen abgewandelten dritten (um ein @echo ergänzt und zwei Prozentzeichen reduziert) hinterherzuschicken
1
for %i in (%pfadinternneu%) do @ECHO copy %i %pfadextern%
Dann siehst du doch, wo zu viele Leerzeichen oder zu wenige Anführungszeichen stehen....
Woher sollen wir wissen, in welcher Form bei dir "%date%" ausgegeben wird?
Das weiss nicht mal Bill G. höchstselbst vor dem Einschalten des Rechners...
Grüße
Biber
Hallo selord und auch von mir ein Willkommen!
So richtig nachvollziehen kann ich ja nicht, wo's klemmt, aber es spricht (nicht nur in diesem Fall) eigentlich kaum etwas gegen die Verwendung einiger Anführungszeichen (aber möglichst paarweise
) - daher: Wie geht es mit
aus?
Grüße
bastla
P.S.: Wenn Du (hoffentlich) auch Deine Batch-Zeilen besser lesbar posten möchtest: ...
So richtig nachvollziehen kann ich ja nicht, wo's klemmt, aber es spricht (nicht nur in diesem Fall) eigentlich kaum etwas gegen die Verwendung einiger Anführungszeichen (aber möglichst paarweise
for %%i in ("%pfadinternneu%\*.JPG") do copy "%%i" %pfadextern%
Grüße
bastla
P.S.: Wenn Du (hoffentlich) auch Deine Batch-Zeilen besser lesbar posten möchtest: ...
Hallo selord!
Soferne Du der Variablen %date% nicht vorweg den Inhalt "20100222" zugewiesen hast, wird (auch bei Deinem bisher ungenannten Betriebssystem) mit an Sicherheit grenzender Wahrscheinlichkeit ein
<code type="plain>echo %date%
nicht "20100222", sondern etwa "22.02.2010" liefern und daher auch in %pfadinternneu% kein Pfad "C:\20100222" enthalten sein ...
... also was steht denn nun (nach der Eingabe von
an der Kommandozeile) wirklich in %pfadinternneu%, und welches Ergebnis bringt ein
(ebenfalls direkt an der Kommandozeile eingegeben)?
Grüße
bastla
Soferne Du der Variablen %date% nicht vorweg den Inhalt "20100222" zugewiesen hast, wird (auch bei Deinem bisher ungenannten Betriebssystem) mit an Sicherheit grenzender Wahrscheinlichkeit ein
<code type="plain>echo %date%
nicht "20100222", sondern etwa "22.02.2010" liefern und daher auch in %pfadinternneu% kein Pfad "C:\20100222" enthalten sein ...
... also was steht denn nun (nach der Eingabe von
set ordner=%date%
set pfadinternneu=C:\%ordner%
dir "%pfadinternneu%"
Grüße
bastla
Hallo Patrick,
Setze ich allerdings den Pfad so:
also ohne Variable %ordner% sondern eben Hard-Coded, hauts natürlich hin!
Poste doch mal deine im CMD Fenster Ausgabe von set pf und die Ausgabe von Date /t. Welches OS verwendest du? Bei Vista kommt folgendes raus:
Peter
[Edit]
Viiiiieeeeeeelllllll zu langsam
[Edit]
1
2
3
2
3
> set ordner=%date%
> set pfadinternneu=C:\%ordner%
>
Setze ich allerdings den Pfad so:
1
set pfadinternneu=C:\20100222
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
D:\testing>set ordner=%date%
D:\testing>set ord
ordner=22.02.2010
D:\testing>set pfadinternneu=C:\%ordner%
D:\testing>set pf
pfadinternneu=C:\22.02.2010
D:\testing>set pfadinternneu=C:\20100222
D:\testing>set pf
pfadinternneu=C:\20100222
Peter
[Edit]
Viiiiieeeeeeelllllll zu langsam
[Edit]