fchristian

Kopierscript nach Datumsordner und Datumsdatei

Hallo Zusammen.

ich habe leider eine sehr bescheidene Maschine, die mir am Ende des Produktionstages eine Datei erstellt. Diese Kopiere ich mir um 23:55 Uhr auf meinen Server um diese Datei aufzubereiten. Leider klappt das kopieren nicht immer bzw. muss angepasst werden.

Ausgangslage Bild 1 die Ordnerstruktur. Im Ordner befindet sich dann jeweils eine CSV Datei mit gleichen Namen.
Beispiel Ordner 2024_5_8 befindet sich die Datei 2024_5_8.csv .

Daraufhin habe ich mir bereits eine Batch Datei gebaut, die mir die Datei kopiert. Leider gibt es hier 4 Möglichkeiten.

2024_5_1
2024_5_10
2024_10_1
2024_10_10

Hier passe ich dann immer nach Datum die Batch Datei an und kommentiere die falschen Datumsformate aus

Die Batchdatei sieht folgendermaßen aus:


REM Datum 2024_5_1
REM copy \\IP Adresse vom Maschine\%date:~6,4%_%date:~4,1%_%date:~1,1%\%date:~6,4%_%date:~4,1%_%date:~1,1%.csv \\Importserver\import\import.csv /Y
REM copy \\IP Adresse vom Maschine\%date:~6,4%_%date:~4,1%_%date:~1,1%\%date:~6,4%_%date:~4,1%_%date:~1,1%.csv \\Importserver\archive /Y

REM Datum 2024_5_10
copy \\IP Adresse vom Maschine\%date:~6,4%_%date:~4,1%_%date:~0,2%\%date:~6,4%_%date:~4,1%_%date:~0,2%.csv C:\xampp\htdocs\vsg_wesel\import\import.csv /Y
copy \\IP Adresse vom Maschine\%date:~6,4%_%date:~4,1%_%date:~0,2%\%date:~6,4%_%date:~4,1%_%date:~0,2%.csv C:\xampp\htdocs\vsg_wesel\archive /Y

REM Datum 2024_10_1
REM copy \\IP Adresse vom Maschine\%date:~6,4%_%date:~3,2%_%date:~1,1%\%date:~6,4%_%date:~3,2%_%date:~1,1%.csv C:\xampp\htdocs\vsg_wesel\import\import.csv /Y
REM copy \\IP Adresse vom Maschine\%date:~6,4%_%date:~3,2%_%date:~1,1%\%date:~6,4%_%date:~3,2%_%date:~1,1%.csv C:\xampp\htdocs\vsg_wesel\archive /Y

REM Datum 2024_10_13
REM copy \\IP Adresse vom Maschine\%date:~6,4%_%date:~3,2%_%date:~0,2%\%date:~6,4%_%date:~3,2%_%date:~0,2%.csv \\Importserver\import\import.csv /Y
REM copy \\IP Adresse vom Maschine\%date:~6,4%_%date:~3,2%_%date:~0,2%\%date:~6,4%_%date:~3,2%_%date:~0,2%.csv \\Importserver\archive /Y


Nach dem Import bereite ich die Daten selbst auf, was auch funktioniert. Wenn das Datum falsch gesetzt ist oder keine Datei kopiert wurde, erhalte ich eine E-Mail aus meinem Importscript.

Hat vielleicht jemand eine Idee, wie ich das voll automatisch lösen könnte, ohne alle 10 bzw. 20 Tage die Datei zu ändern?


Danke.
1
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 61631018218

Url: https://administrator.de/forum/kopierscript-nach-datumsordner-und-datumsdatei-61631018218.html

Ausgedruckt am: 12.05.2025 um 17:05 Uhr

TK1987
TK1987 08.05.2024 aktualisiert um 12:02:23 Uhr
Goto Top
Moin,

als reine Batch z.B. so:
@echo off

call :getDate

REM Hier folgt dann der Code zum Kopieren
echo %today%
pause

exit /b 0
REM Funktion zum Ändern des Datums in das Format "yyyy-M-d"  
:getDate
  for /f "Tokens=* Delims=0" %%A in ("%date:~3,2%") do set today=%date:~-4%-%%~A  
  for /f "Tokens=* Delims=0" %%A in ("%date:~0,2%") do set today=%today%-%%~A  

Besser wäre natürlich gleich Powershell statt Batch zu nutzen...
Get-Date -Format "yyyy-M-d"  

geht aber auch Hybrid:
@echo off

for /f %%A in ('powershell Get-Date -Format "yyyy-M-d"') do set today=%%~A  

echo %today%

Gruß Thomas
erikro
Lösung erikro 08.05.2024 um 12:06:42 Uhr
Goto Top
Moin,

warum einfach, wenn es auch kompliziert geht? face-wink Nimm die Powershell.

#ungetestet
$akt_date = get-date -format "yyyy_M_d" # Achtung, das ist Absicht mit den kleinen Ypsilons, dem kleinen D und dem großen M  

copy-item -path "x:\$($akt_date)\$($akt_date).csv" -destination "y:\wohinauchimmer"  

hth

Erik
FChristian
FChristian 13.05.2024 um 08:44:57 Uhr
Goto Top
Morgen und Danke @TK1987 für deine Vorschlag.
Ich habe nun @erikro Vorschlag in der Powershell angepasst und lasse es gerade parallel laufen.

Werde die Tage berichten.
FChristian
FChristian 18.06.2024 um 08:45:18 Uhr
Goto Top
Dank Dir @erikro . Dein Ansatz bzw. Deine Lösung funktioniert perfekt face-wink
erikro
erikro 24.06.2024 um 14:11:59 Uhr
Goto Top
Zitat von @FChristian:

Dank Dir @erikro . Dein Ansatz bzw. Deine Lösung funktioniert perfekt face-wink

Das freut mich. face-smile