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

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

Link zu diesem Kommentar
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:

 

Link zu diesem Kommentar

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 *

 

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

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...