Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Warum sind Leerzeichen im Ergebnis

Frage Entwicklung Batch & Shell

Mitglied: Bitbull

Bitbull (Level 1) - Jetzt verbinden

16.03.2010, aktualisiert 09:35 Uhr, 2537 Aufrufe, 6 Kommentare

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.

01.
rem @echo off  
02.
set jahr=%date:~-4%  
03.
set monat=%date:~-7,2%  
04.
set tag=1000%date:~-10,2%  
05.
set /a vormonat=%monat%-1  
06.
  
07.
if not %tag%==100001 set /a tag=%tag%-1 & goto end  
08.
  
09.
for %%j in (0 1 3 5 7 8 10) do if %vormonat%==%%j set /a tag=100031 & goto end  
10.
for %%k in (4 6 9 11) do if %vormonat%==%%k set /a tag=100030 & goto end  
11.
  
12.
set /a tag=100028  
13.
>(=14:31:03  D:\temp=)  
14.
>for %l in (2004 2008 2012 2016 2020 2024 2028 2032 2036 2040 2044 2048 2052) do @echo %l  
15.
2004 
16.
2008 
17.
2012 
18.
2016 
19.
2020 
20.
2024 
21.
2028 
22.
2032 
23.
2036 
24.
2040 
25.
2044 
26.
2048 
27.
2052 
28.
 
29.
(=14:31:09  D:\temp=)  
30.
>for /l %l in (2004,4, 2052) do @echo %l  
31.
 
32.
2004 
33.
2008 
34.
2012 
35.
2016 
36.
2020 
37.
2024 
38.
2028 
39.
2032 
40.
2036 
41.
2040 
42.
2044 
43.
2048 
44.
2052 
45.
 
46.
  
47.
:end 
48.
set tag=%tag:~-2,2%  
49.
  
50.
echo %jahr%%monat%%tag%>yesterday.txt 
51.
  
52.
pause
[Edit Biber] Codetags [/Edit]
Mitglied: Biber
16.03.2010 um 09:35 Uhr
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
Bitte warten ..
Mitglied: Bitbull
16.03.2010 um 11:21 Uhr
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
Bitte warten ..
Mitglied: Biber
16.03.2010 um 11:29 Uhr
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
Bitte warten ..
Mitglied: Bitbull
16.03.2010 um 14:31 Uhr
> 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
Bitte warten ..
Mitglied: Biber
16.03.2010 um 15:55 Uhr
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?
Bitte warten ..
Mitglied: Bitbull
16.03.2010 um 21:50 Uhr
Hallo Biber,

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

Oder ist dein Hauptberuf "Hellseher" ???

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

Gruß ( aus Neuss )


Bitbull
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst Schreiben eines Strings mit Leerzeichen in eine Datei (6)

Frage von c20082005 zum Thema Batch & Shell ...

Ubuntu
gelöst Wie kann man es tun? Alle Zeilen mit 2 und mehr Leerzeichen entfernen (1)

Frage von takitano zum Thema Ubuntu ...

Batch & Shell
gelöst Zeilen in TXT mit Leerzeichen auf eine bestimmte Länge auffüllen (4)

Frage von stingray14k zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Erkennung und -Abwehr
Virenschutz - Meinungen (25)

Frage von honeybee zum Thema Erkennung und -Abwehr ...

Windows 10
Welches OS für Firmengeräte? (17)

Frage von MarkusVH zum Thema Windows 10 ...

Server-Hardware
gelöst Erfahrungswerte Hardwaresupport physikalische Server (16)

Frage von Devilx zum Thema Server-Hardware ...

Exchange Server
SBS2011: POP3-Connector 10 MB Grenze Email Benachrichtigung (15)

Frage von bogi1102 zum Thema Exchange Server ...