Phipz87 1 Posted December 30, 2020 Report Posted December 30, 2020 Hallo, ich habe folgenden script: @echo off ::Letztes Datum im Ordner angeben (führende Null nicht vergessen bei Zahlen < 10) set tag=29 set monat=01 set jahr=2021 ::Datum bis wann Datei erstellt werden soll, am besten 1 Monat (Format angeben in jjjjmmdd) set ende_kopierenundumbenennen=2021-03-10 ::Datei zum kopieren set "Dateiendung=xlsx" set "Copy_File=%jahr%-%monat%-%tag%_PT_RELEASE INCL ANALYST CODE.%Dateiendung%" if NOT exist "%Copy_File%" (echo Datei existiert nicht&pause &exit) IF %tag%==10 goto :weiter IF %tag%==20 goto :weiter IF %tag%==30 goto :weiter set "tagX=%tag%" set tagx=%tagx:0=% set /A tag=%tagX% :weiter :loop set /a Schaltjahr=%jahr%%%4 if %jahr:~-2%==00 set /a Schaltjahr+=%Jahr:~,2%%%4 set korrektur=false IF %tag%==28 IF %Schaltjahr% neq 0 if %monat%==02 set monat=03& set tag=1& set korrektur=true IF %tag%==29 IF %monat%==02 set monat=03& set tag=1& set korrektur=true IF not %tag%==30 goto :notag30 IF %monat%==04 set monat=05& set tag=1& set korrektur=true IF %monat%==06 set monat=07& set tag=1& set korrektur=true IF %monat%==09 set monat=10& set tag=1& set korrektur=true IF %monat%==11 set monat=12& set tag=1& set korrektur=true :notag30 IF not %tag%==31 goto :notag31 IF %monat%==01 set monat=02& set tag=1& set korrektur=true IF %monat%==03 set monat=04& set tag=1& set korrektur=true IF %monat%==05 set monat=06& set tag=1& set korrektur=true IF %monat%==08 set monat=09& set tag=1& set korrektur=true IF %monat%==07 set monat=08& set tag=1& set korrektur=true IF %monat%==10 set monat=11& set tag=1& set korrektur=true IF %monat%==12 set monat=01& set tag=1& set /a jahr+=1& set korrektur=true :notag31 IF "%korrektur%"=="false" set /a tag+=1 set "tagX=0%tag%" set "tagX=%tagx:~-2%" echo Kopiere %Copy_File% nach %tagx%.%monat%.%jahr%.%Dateiendung% copy "%Copy_File%" "%jahr%-%monat%-%tagx%_PT_RELEASE INCL ANALYST CODE.%Dateiendung%">NUL IF "%jahr%-%monat%-%tagx%" NEQ "%ende_kopierenundumbenennen%" goto loop pause Nun möchte ich bitte, dass kein Wochenende erstellt wird. Was oder wo muss ich was einfügen? Vielen Dank Philipp Quote
cj_berlin 1,375 Posted December 30, 2020 Report Posted December 30, 2020 Moin, auch wenn es keine direkte Antwort auf Deine Frage ist: Wir haben in ein paar Tagen 2021. Tu Dir selbst einen Gefallen und mach es in PowerShell. Da steht Dir die gesamte Macht der .NET DateTime-Klasse zur Verfügung. 3 Quote
daabm 1,377 Posted December 30, 2020 Report Posted December 30, 2020 vor 6 Stunden schrieb cj_berlin: Wir haben in ein paar Tagen 2021. May the fourth be with you ? Aber stark ist die dunkle (Batch-) Seite, stark sie ist... ? 3 Quote
Phipz87 1 Posted December 31, 2020 Author Report Posted December 31, 2020 vor 17 Stunden schrieb cj_berlin: Moin, auch wenn es keine direkte Antwort auf Deine Frage ist: Wir haben in ein paar Tagen 2021. Tu Dir selbst einen Gefallen und mach es in PowerShell. Da steht Dir die gesamte Macht der .NET DateTime-Klasse zur Verfügung. Nein das hilft mir wirklich nicht weiter :) Mit Powershell kenne ich mich leider auch nicht so aus... Ich würde gerne einfach meinen Code nutzen, nur mit dem Zusatz kein Wochenende... Kann man das in Powershell denn einfach umsetzen? vor 17 Stunden schrieb cj_berlin: 1 Quote
cj_berlin 1,375 Posted December 31, 2020 Report Posted December 31, 2020 Ja, kann man. Schau Dir folgende Schnipsel an: [datetime]::IsLeapYear('1972') [datetime]::IsLeapYear('2001') [datetime]::DaysInMonth(1972,2) [datetime]::DaysInMonth(2001,2) $today = Get-Date $today.DayOfWeek $today.DayOfWeek.value__ $tomorrow = $today.AddDays(1) $yesterday = $today.AddDays(-1) $newyear = Get-Date -Year ($today.Year + 1) -Month 1 -Day 1 -Hour 0 -Minute 0 -Second 0 Get-Date | fl * 1 Quote
daabm 1,377 Posted December 31, 2020 Report Posted December 31, 2020 Vielleicht wäre es hilfreich, wenn Du mal das Ursprungsproblem beschreibst - also was genau soll eigentlich erreicht werden? Ansonsten gäbe es hier ein paar Anregungen, wie man in Batch an den Wochentag kommt: https://ss64.org/viewtopic.php?id=617 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.