Jump to content

Batch Script - IF Funktion mit Wochentag Abfrage


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

Empfohlene Beiträge

Guten Tag =)

 

ich versuche das erste mal eine Batch Datei zu schrieben die es mir ermöglicht regelmäßig an einem Bestimmten Tag in der Woche (Montag) ein Log Programm zu schließen und Dateien zu verschrieben. Die Tagesabfrage, das Schließen sowie das verschieben der Dateien funktioniert wunderbar nur nicht die IF Funktion. Auch wenn nicht der Montag ist wird das gewünschte Programm geschlossen und die Dateien verschoben.

Ich komme mit ausprobieren nicht mehr weiter und hoffe das Ihr mir sagen könnt, was ich falsch gemacht habe.

 

Hier sind die Befehle

@echo off

:false
echo falsch

REM Ermittlung des Tages
for /F "skip=2 tokens=2-4 delims=," %%A in ('WMIC path Win32_LocalTime Get DayOfWeek /Format:csv') do set daynumber=%%A  
echo %daynumber%


if "%daynumber%"=="1" goto true
if "%daynumber%"=="2" goto false
if "%daynumber%"=="3" goto false
if "%daynumber%"=="4" goto false
if "%daynumber%"=="5" goto false
if "%daynumber%"=="6" goto false
if "%daynumber%"=="7" goto false


:true
echo richtig
REM Programm schließen
TASKKILL /IM weather.exe /F /T

REM Verschiebt Dateien mit der endung .xlsx
move C:*.xlsx D:\hierhinverschieben

REM Programm starten
start "" "C:\Program Files (x86)\tools\weather.exe"


pause >nul

 

Ich möchte mich schonmal für eure Hilfe bedanken =)

Link zu diesem Kommentar

Moin,

 

deine Schleife sieht auch etwas seltsam aus. "false" heißt, es soll nichts passieren, verzweigt aber zum Beginn des Skripts. Sinnvoller wäre es doch dann, das Skript zu beenden oder an eine Stelle hinter "true" zu springen.

 

Hier habe ich vor Jahren mal sowas in der Art gepostet, vielleicht hilft das weiter. Dort ist auch keine WMIC-Abfrage drin, die nicht nur viel Zeit kostet, sondern auch wegen der nötigen Berechtigungen heikel ist.

 

[Monitoring: Ping-Checks zeitabhängig | faq-o-matic.net]
https://www.faq-o-matic.net/2012/05/07/monitoring-ping-checks-zeitabhngig/

 

Ansonsten wäre die Empfehlung, derartige Dinge per PowerShell anzugehen. Batch ist doch sehr eingeschränkt, sobald etwas mehr Logik in einer Aufgabe steckt.

 

Gruß, Nils

 

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...