bitbull
Goto Top

Warum sind Leerzeichen im Ergebnis

Hallo erst mal . . .
Ich habe hier in einem 'Tröt' super Tipps bekommen und anhängende Batch führt auch zum Ergebnis.
Ich brauche das Ergebnis aber ohne Leerzeichen.
Wer ist für die Leerzeichen verantwortlich ( oder kann welche gebrauchen *grins*)

Hallo @all

Die folgende Batch bringt als Ergebnis yyyy mm tt
Ich möchte aber yyymmtt als Ergebnis haben.

rem @echo off 
set jahr=%date:~-4% 
set monat=%date:~-7,2% 
set tag=1000%date:~-10,2% 
set /a vormonat=%monat%-1 
 
if not %tag%==100001 set /a tag=%tag%-1 & goto end 
 
for %%j in (0 1 3 5 7 8 10) do if %vormonat%==%%j set /a tag=100031 & goto end 
for %%k in (4 6 9 11) do if %vormonat%==%%k set /a tag=100030 & goto end 
 
set /a tag=100028 
>(=14:31:03  D:\temp=) 
>for %l in (2004 2008 2012 2016 2020 2024 2028 2032 2036 2040 2044 2048 2052) do @echo %l 
2004
2008
2012
2016
2020
2024
2028
2032
2036
2040
2044
2048
2052

(=14:31:09  D:\temp=) 
>for /l %l in (2004,4, 2052) do @echo %l 

2004
2008
2012
2016
2020
2024
2028
2032
2036
2040
2044
2048
2052

 
:end
set tag=%tag:~-2,2% 
 
echo %jahr%%monat%%tag%>yesterday.txt
 
pause

[Edit Biber] Codetags [/Edit]

Content-ID: 138318

Url: https://administrator.de/forum/warum-sind-leerzeichen-im-ergebnis-138318.html

Ausgedruckt am: 23.12.2024 um 17:12 Uhr

Biber
Biber 16.03.2010 um 09:35:05 Uhr
Goto Top
Moin Bitbull,

die Leerzeichen in deinem Schnipsel entstehen dadurch, dass du ein auf den ersten Blick nicht sichtbares "trailing blank" am Ende deiner SET-Anweisungen mitschleppst.

Ich deute es mal durch einen unterstrich an:
...
set jahr=%date:~-4%_
..

Deshalb habe ich mir die folgende, nicht offiziell von den Redmondern propagierte Schreibweise angewöhnt:

...
set "jahr=%date:~-4%"
..

Kann nur empfehlen, die grundsätzlich zu verwenden.

Grüße
Biber
Bitbull
Bitbull 16.03.2010 um 11:21:17 Uhr
Goto Top
Moin Biber,

ich hoffe ich kann das mit meinem Alter entschuldigen, aber

wenn da "" stehen, geht die Zusammenfassung nicht mehr

%jahr%%Monat%%Tag% = "Jahr""Monat""Tag" - mal sehen wie ich das wieder hinkriege *grübel*


Grüße
Bitbull
Biber
Biber 16.03.2010 um 11:29:48 Uhr
Goto Top
Moin Bitbull,
Zitat von @Bitbull:
Moin Biber,

ich hoffe ich kann das mit meinem Alter entschuldigen, aber
Klar, hab ich Verständnis für, ich war ja auch mal jung und verspielt....
wenn da "" stehen, geht die Zusammenfassung nicht mehr
Stimmt, aber warum sollten da " stehen???

%jahr%%Monat%%Tag% = "Jahr""Monat""Tag" - mal sehen wie ich das wieder hinkriege *grübel*
Versuche es doch einfach mal mit Nachturnen von dem, was ich oben geschrieben habe.
Nur die SET-Anweisungen ändern in [set "jahr=%date:~-4%"] etc. Rest bleibt so unverändert wie das deutsch-wilhelminische Schulsystem.

P.S. Du könntest natürlich auch -für genau diesen Batch- die trailing blanks in den Zeilen 2-5 rauspuhlen...
Aber das wäre ja keine "Lösung", sondern eher unwürdig...


Grüße
Biber
Bitbull
Bitbull 16.03.2010 um 14:31:03 Uhr
Goto Top
> wenn da "" stehen, geht die Zusammenfassung nicht mehr
Stimmt, aber warum sollten da " stehen???


Warum die da rauskommen habe ich noch nicht verstanden - ich hab' genau gemacht was due 'gesagt' hast.
Ergebnis ist wie von mir angegeben:

"2010""03""15"

b.R. ( bin Ratlos )

hab jetzt ersteinmal die unsichtbaren Zeichen entfernt - und man glaubt es kaum:

Wenn man es richtig macht - funktioniert es auch.

Ich werde es aber auch nochmal mit den "" probieren.

Sollten sich hier weitere Fragen ergeben, melde ich mich . . .


besten Dank
Gurß
Bitbull
Biber
Biber 16.03.2010 um 15:55:27 Uhr
Goto Top
Moin Bitbull,

kann es sein, dass du statt meines Vorschlags....
set "jahr=%date:~-4%" 
...etwas frei interpretiert hast:
set jahr="%date:~-4%" 
??

Der Unterschied wäre jedenfalls (Demo am CMD-Prompt):
>set "tag1=%date:~0,2%"
>set tag2="%date:~0,2%"

>set tag
tag1=16
tag2="16"

Grüße
Biber

P.S.
Gurß
Bitbull
Gurß? Migrationshintergrund oder Kindheit in Leverkusen-Mitte? face-wink
Bitbull
Bitbull 16.03.2010 um 21:50:16 Uhr
Goto Top
Hallo Biber,

kann es sein, dass du dich schon länger mit den Unzulänglichkeiten deiner Mitmenschen rumschlägst ?

Oder ist dein Hauptberuf "Hellseher" ??? face-wink

Aber wie sagt man so schön: "Wer lesen kann ist klar im Vorteil!!!!"

Gruß ( aus Neuss )


Bitbull