Jump to content

Kein Datum für das Wochenenende erstellen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

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

Geschrieben
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:

 

  • Like 1
Geschrieben

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 *

 

  • Danke 1
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...