Batch File Täglich wechselnder Ordner(Pfad)
Hallo Zusammen
Ich stehe derzeit vor einem - was ich glaube - kleinem Problem.
Und zwar möchte ich CSV Dateien von einem Ordner in den anderen verschieben oder kopieren reicht schon. Die Herausforderung bei der Geschichte ist, das die Dateien in Ordner erstellt werden, welche täglich den Ordnernamen wechseln.
Ganz konkret sieht der Pfad so aus, wo ich die Dateien abholen möchte:
/DEFAULT/DEFAULT_CU/PRODUKTION/2021-11-05/2000/KSL
Und der Fett markierte Teil ändert täglich und ihr seht schon, dass es das Datum ist welcher als Ordnername erstellt wird.
Habe ihr eine Idee, wie man das machen könnte, was ich bisher gemacht habe ist folgendes:
@echo on
FOR /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set DAT=%%c%%b%%a
FOR /F "tokens=1,2,3,4 delims=/: " %%a in ('time/T') do set TIM=%%a%%b
set NOW=%DAT%%TIM%
copy /y C:\TEMP\DEFAULT\DEFAULT_CU\PRODUKTION/%path%/2000/KSL\*.csv C:\TEMP\TEST
pause
exit
Aber das wäre wohl zu einfach gewesen das funktioniert leider nicht. Evtl. habt ihr sowas schon gehabt und könnt mir weiterhelfen .
Danke im Voraus
LG
Mec0787
Ich stehe derzeit vor einem - was ich glaube - kleinem Problem.
Und zwar möchte ich CSV Dateien von einem Ordner in den anderen verschieben oder kopieren reicht schon. Die Herausforderung bei der Geschichte ist, das die Dateien in Ordner erstellt werden, welche täglich den Ordnernamen wechseln.
Ganz konkret sieht der Pfad so aus, wo ich die Dateien abholen möchte:
/DEFAULT/DEFAULT_CU/PRODUKTION/2021-11-05/2000/KSL
Und der Fett markierte Teil ändert täglich und ihr seht schon, dass es das Datum ist welcher als Ordnername erstellt wird.
Habe ihr eine Idee, wie man das machen könnte, was ich bisher gemacht habe ist folgendes:
@echo on
FOR /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set DAT=%%c%%b%%a
FOR /F "tokens=1,2,3,4 delims=/: " %%a in ('time/T') do set TIM=%%a%%b
set NOW=%DAT%%TIM%
copy /y C:\TEMP\DEFAULT\DEFAULT_CU\PRODUKTION/%path%/2000/KSL\*.csv C:\TEMP\TEST
pause
exit
Aber das wäre wohl zu einfach gewesen das funktioniert leider nicht. Evtl. habt ihr sowas schon gehabt und könnt mir weiterhelfen .
Danke im Voraus
LG
Mec0787
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1470818535
Url: https://administrator.de/contentid/1470818535
Ausgedruckt am: 17.11.2024 um 05:11 Uhr
6 Kommentare
Neuester Kommentar
Moin,
Ein ganz winziges. Nimm die Powershell:
hth
Erik
Ein ganz winziges. Nimm die Powershell:
copy-item c:\pfad\$(get-date -format "yyyy-MM-dd")\restpfad\*.csv zielpfad
hth
Erik
Und viel zu unzuverlässig denn die Datums und Zeitangaben von %date% sind regionsabhänig formatiert deswegen sollte man Zeitangaben besser per WMI auslesen, das ist dann auch Regionseinstellungs-unabhängig
@echo off & setlocal ENABLEDELAYEDEXPANSION
for /f %%a in ('wmic path win32_Localtime get Year^,Month^,Day^,Hour^,Minute^,Second /value ^| findstr .') do set /a %%a
for %%a in (month day hour minute second) do set "tmp=0!%%a!" &set "%%a=!tmp:~-2!"
set "timestamp=%Year%-%Month%-%day%_%Hour%:%Minute%:%Second%"
echo %timestamp%
Zitat von @149569:
Ich würde aber heutzutage auch gleich auf die Powershell gehen ... wieso noch für solch banalen Dinge einen Roman schreiben müssen, aber naja is ja auch Freitag 🐟
Ich würde aber heutzutage auch gleich auf die Powershell gehen ... wieso noch für solch banalen Dinge einen Roman schreiben müssen, aber naja is ja auch Freitag 🐟
Wenn ich mir das kryptische Gefrickel angucke, bestätigt das nur mein Vorurteil: Wer heute noch Batches schreibt, hat einen Hang zum Masochismus.
Oder zu viel Zeit .