tommhii
Goto Top

Mittels IF Abfrage festlegen welchen Pfad die Variable bekommt

Hallo

ich habe eine Frage , und zwar habe ich 2 Variablen mit unterschiedliche Pfaden .

Ich möchte das zum Beispiel ab Monat Mai die Variable einen anderen Pfad bekommt.

set AEB=c:\Ausgang
IF %month% EQU "05" goto m02
set EEB=c:\Eingang\alt
goto m03
:m02

set EEB=c:\Eingang\neu
:m03
copy %AEB% %EEB%

irgendwie komm ich da nicht weiter, kann mir da jemand helfen.

VG
Tommhi

Content-ID: 371943

Url: https://administrator.de/contentid/371943

Ausgedruckt am: 26.11.2024 um 15:11 Uhr

Pjordorf
Pjordorf 23.04.2018 um 12:32:42 Uhr
Goto Top
Hallo,

Zitat von @tommhii:
IF %month% EQU "05" goto m02
Was ist in %month% enthalten? 5 oder 05 oder Mai oder was? Demzufolge liefert dein Vergleich mit Equal entweder ein Wahr oder Falsch. Evtl ist hier ein GTR oder ein GEQ besser angebracht. Ein IF /? in ein Kommandozeilenfenster hilft oder du schaust mal http://www.robvanderwoude.com/batchfiles.php oder http://www.robvanderwoude.com/battech_booleanlogic.php oder http://www.robvanderwoude.com/clevertricks.php hier nach,

Gruß,
Peter
tommhii
tommhii 23.04.2018 um 12:55:26 Uhr
Goto Top
Hallo Peter,

set month=%date:~3,2% sorry die Zeile hatte ich vergessen.


VG
Tommhi
Pjordorf
Pjordorf 23.04.2018 um 13:27:38 Uhr
Goto Top
Pedant
Pedant 23.04.2018 aktualisiert um 17:01:27 Uhr
Goto Top
Hallo Tommhi,

Zitat von @tommhii:
Ich möchte das zum Beispiel ab Monat Mai die Variable einen anderen Pfad bekommt.
das Wort "ab" bedeutet größer oder gleich.
Wie Pjordorf schon schrieb bedeutet das GEQ statt EQU

Zitat von @tommhii:
set month=%date:~3,2% sorry die Zeile hatte ich vergessen.
(Die Code-Tags hast Du auch vergessen.)

Füg mal diese zwei Zeilen dahinter ein:
echo Date: %date%
echo Month: %month%
und poste die Ausgabe.


Wenn's nicht elegant sein muss, kannst Du alle 12 Monate auch per Stringvergleich abhandeln, dann trittst Du nicht in die Oktalfalle.

@echo off

set AEB=C:\Ausgang
set EEB=
set month=%date:~3,2%

IF "%month%"=="01" set EEB=C:\Eingang\alt  
IF "%month%"=="02" set EEB=C:\Eingang\alt  
IF "%month%"=="03" set EEB=C:\Eingang\alt  
IF "%month%"=="04" set EEB=C:\Eingang\alt  
IF "%month%"=="05" set EEB=C:\Eingang\neu  
IF "%month%"=="06" set EEB=C:\Eingang\neu  
IF "%month%"=="07" set EEB=C:\Eingang\neu  
IF "%month%"=="08" set EEB=C:\Eingang\neu  
IF "%month%"=="09" set EEB=C:\Eingang\neu  
IF "%month%"=="10" set EEB=C:\Eingang\neu  
IF "%month%"=="11" set EEB=C:\Eingang\neu  
IF "%month%"=="12" set EEB=C:\Eingang\neu  

IF "%EEB%"=="" goto fehler  

echo Kopiere von %AEB% nach %EEB% ...
copy %AEB% %EEB%
goto ende

:fehler
echo Der Wert "%month%" ist kein gültiger Monatswert.  
pause>nul

:ende


Gruß Frank