Bitte um Hilfe bei xcopy in Windows 10

  • 1 Antworten
  • Letztes Antwortdatum
holms

holms

Inventar
12.641
Hallo, ja, das Netz ist voll, mit sowas für Batch-Dateien, tatsächlich hab ich da zuviel Ergebnisse und blicke nicht mehr durch. Nutze das sonst nie.

Vielleicht für jemanden hier einfach? xcopy am besten dafür? Folgendes möchte ich, hier am Beispiel:

Im Ordner C:\Users\User\Desktop\Quelle befindet sich immer nur eine einzige Datei namens beispiel.htm . Diese wird ab und an aktualisiert.
Die Datei soll automatisch einmal am Tag um 14 Uhr in den Ordner C:\Users\User\Desktop\Ziel kopiert werden, dabei soll der Dateiname das Datum beinhalten, also beispiel_yyyy-mm-tt.htm

Das "automatisch" geht ja wohl mit einem Task in Windows. Wie geht aber die Batch-Datei am besten/sichersten?

Falls wichtig: Die reale Quelldatei liegt im lokalen Netzwerk nicht auf dem eigenen PC, falls das noch wichtig ist.

Alles verständlich? Danke für Hilfe.
Beiträge automatisch zusammengeführt:

Nachtrag, habe nun das hier gefunden, ist nur normal "copy":

Code:
for /f "tokens=*" %%n in ('date /t') do set thisdate=%%n
:: replace '/' with '-' as /'s don't work in file names.
set thisdate=%thisdate:/=-%
set firstfolder=C:\Users\User\Desktop\Quellordner
set secondfolder=C:\Users\User\Desktop\Zielordner

for /r "%firstfolder%" %%n in (*) do call :copyfile "%%~nn" "%%~xn" "%%~dpn"
goto :EOF

:copyfile
copy "%~3\%~1%~2" "%secondfolder%\%~1_%thisdate%.htm"

Ok, da werden alle Dateien im Quellordner kopiert, ist ja egal, da dort immer nur eine Datei mit demselben Dateinamen drin ist. Klappt prinzipiell.

Schönheitsfehler. Der neue Dateiname ist beispiel_tt-mm-yyyy .htm

Also nicht das Jahr zuerst. Und hat hinter der Jahreszahl ein Leerzeichen. Kann man das entfernen?

Oder gibt es eh eine bessere Lösung?
 
Zuletzt bearbeitet:
Nachtrag, hab es nun... - falls von Interesse.

Hab es mir ganz fies einfach von ChatGPT schreiben lassen, nur kleine Änderung nötig danach. ;)

Sass:
@echo off
setlocal
set "source=C:\Users\User\Desktop\Quellordner\beispiel.htm"
set "destination=C:\Users\User\Desktop\Zielordner"
for /f "tokens=2-4 delims=/ " %%a in ("%date%") do (
    set "date=%%c-%%a-%%b"
)
set datef=%date:~-4%-%date:~3,2%-%date:~0,2%
copy "%source%" "%destination%\beispiel_%datef%.htm"
 

Ähnliche Themen

A
Antworten
1
Aufrufe
135
gatnnos
G
O
Antworten
2
Aufrufe
116
odysseus
O
A
Antworten
0
Aufrufe
85
asimo
A
Zurück
Oben Unten