schottenrock
Goto Top

BATCH: Minuszeichen in set-Befehl

Guten Morgen,

ich komme gerade nicht weiter und es wit wohl nur eine Kleinigkeit, aber ich steh gerade auf dem Schlauch:

Ich habe ein Datum zerlegt und will es wieder rückwärts zusammenbauen. Das funktioniert auch mit echo, aber wenn ich es in eine Variable schreiben will, danb kommt entweder nix oder wenn ich spasseshalber set/a angebe, dann rechnet er

Also, hier ein Beispiel:

@echo off

rem Datum zerlegen:
set dd=%date:~0,2%
set mm=%date:~3,2%
set yyyy=%date:~6,4%

rem Testanzeige
echo Datum: %yyyy%-%mm%-%dd%

rem Datum in Variable YMD schreiben
set YMD = %yyyy%-%mm%-%dd%

rem Anzege von Variable YMD ist leer, es kommt nur Echo ist eingeschaltet
echo %YMD%
pause
exit
:EOF 

Ich habe schon viel gegoogelt, Forum durchsucht, aber hab jetzt eine halbe Stunde lang nix wirkliches zu Minuszeichen gefunden. Eher das Gegenteil, man findet viel, wie man mit set /a rechnen kann, aber nicht, wie man NICHT rechnen kann ...

Bereits im Vorfeld besten Dank an alle, die mir zu dieser frühen Stunde helfen können.

Content-Key: 311409

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

Printed on: April 24, 2024 at 14:04 o'clock

Member: narthan
narthan Jul 31, 2016 updated at 07:47:42 (UTC)
Goto Top
Hallo Schottenrock,

benutze statt deiner Zeile 12 folgendes:

set "YMD=%yyyy%-%mm%-%dd%"  

Folgendes würde auch funktionieren:

set YMD=%yyyy%^-%mm%^-%dd%

Also entweder den gesamten Befehl in Anführungszeichen setzen, oder das Minus escapen.
Wenn damit dein Problem gelöst ist, bitte die Frage schließen face-smile

Gruß,
narthan
Mitglied: 129813
Solution 129813 Jul 31, 2016 at 08:07:06 (UTC)
Goto Top
Hi.
the dash is no problem if you don't use set /a. Your error above is the space between the name of the variable and the equal sign (=). This is not allowed.

Regards
Member: Schottenrock
Schottenrock Aug 06, 2016 at 20:21:22 (UTC)
Goto Top
Ja, die Leerzeichen waren das Problem. Vielen Dank für die Hilfe.
Yes, the two spaces left and right of the equal sign have been the problem. Thanks for your help!