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, 2529 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
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Microsoft Office
gelöst Dropdownlisten in Abhängigkeit mit Leerzeichen im Namen (Datenüberprüfung) (2)

Frage von kevische zum Thema Microsoft Office ...

Administrator.de Feedback
Bug? "m f g" (ohne Leerzeichen) wird auch in URL ersetzt (5)

Frage von emeriks zum Thema Administrator.de Feedback ...

Batch & Shell
Leerzeichen im Pfad (4)

Frage von Jallio zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (14)

Frage von liquidbase zum Thema Windows Update ...

DSL, VDSL
Problem mit variernder Internetgeschwindigkeit (12)

Frage von schaurian zum Thema DSL, VDSL ...