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, 2541 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 ..
Ähnliche Inhalte
C und C++
gelöst C++ andere EXE aufrufen, Probleme mit Leerzeichen im Pfad (14)

Frage von pablovic zum Thema C und C ...

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 ...

Neue Wissensbeiträge
Batch & Shell

Batch - ein paar Basics die man kennen sollte

Tipp von Pedant zum Thema Batch & Shell ...

Microsoft

Restrictor: Profi-Schutz für jedes Window

(6)

Tipp von AlFalcone zum Thema Microsoft ...

Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft Office
Saubere HTML aus Word-Dokument (16)

Frage von peterpa zum Thema Microsoft Office ...

Router & Routing
ASUS RT-N18U mit VPN Client hinter Fritzbox - Portforwarding (15)

Frage von marshall75000 zum Thema Router & Routing ...

Hosting & Housing
gelöst Webserver bei WIX, aber DNS Server wo anders (9)

Frage von laster zum Thema Hosting & Housing ...