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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 371943
Url: https://administrator.de/contentid/371943
Ausgedruckt am: 26.11.2024 um 15:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo,
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
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
Hallo,
Und die Ausgabe ist dann grundsätzlich 2 Stellig (05) oder Einstellig (5) je nach deine Einstellungen im OS.
Variablen in Batch vergleichen
https://www.fachinformatiker.de/topic/102805-zahlen-vergleichen-mit-batc ...
https://www.windowspro.de/tipp/vergleichsoperatoren-und-ifelse-batch-dat ...
https://it-stack.de/18/09/2012/batch-2-versionsnummern-vergleichen/
Gruß,
Peter
Und die Ausgabe ist dann grundsätzlich 2 Stellig (05) oder Einstellig (5) je nach deine Einstellungen im OS.
Variablen in Batch vergleichen
https://www.fachinformatiker.de/topic/102805-zahlen-vergleichen-mit-batc ...
https://www.windowspro.de/tipp/vergleichsoperatoren-und-ifelse-batch-dat ...
https://it-stack.de/18/09/2012/batch-2-versionsnummern-vergleichen/
Gruß,
Peter
Hallo Tommhi,
Wie Pjordorf schon schrieb bedeutet das GEQ statt EQU
(Die Code-Tags hast Du auch vergessen.)
Füg mal diese zwei Zeilen dahinter ein:
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.
Gruß Frank
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.Ich möchte das zum Beispiel ab Monat Mai die Variable einen anderen Pfad bekommt.
Wie Pjordorf schon schrieb bedeutet das GEQ statt EQU
(Die Code-Tags hast Du auch vergessen.)
Füg mal diese zwei Zeilen dahinter ein:
echo Date: %date%
echo Month: %month%
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