Hallo GDave,
da das Thema nochmal hoch kam:
Unten ist ein Lösungsvorschlag, der einen STRING der gewünschten Form erzeugt.
- Das Betriebssystem muss das Datum in der Form dd.mm.yyyy liefern.
- Das Ergebnis wird in die Datei Ergebnis.txt im gleichen Verzeichnis geschrieben.
- Zeilen, die mit "echo" beginnen können entfernt werden.
Gruss
Busmaster
[code]
@echo off
rem Wie kann ich mit Basic folgendes rechnen lassen. Ich möchte einfach das Resultat erhalten:
rem Aktuelle Stunde (Uhrzeit)+Aktueller Tag (Datum, 2-stellig)+Aktueller Monat (Datum) -> ergibt eine Zahl.
rem Das ganze geteilt durch 1000 -> ergibt das Resultat.
rem Beispiel:
rem 100112 geteilt durch 1000 = 100.112
rem 10=Uhrzeit
rem 01=Datum
rem 12=Monat
rem Das Resultat möchte ich dann in einer Batch-Datei ausgeben.
rem Vorschlag von Busmaster 2017-12-13
rem Zahl ist hhmmdd
rem entweder 6 stellig hhmmdd: 10mmdd...23mmdd > 100000, letzte Stellen 01...31, d.h. es gibt IMMER 3 Nachkommastellen
rem oder 5 stellig _hmmdd: 0mmdd... 9mmdd < 100000, letzte Stellen 01...31, d.h. es gibt IMMER 3 Nachkommastellen
rem Datumskonvention ist : dd.mm.yyyy
set mydate=%date%
set mytime=%time%
rem dd ist Tag 01...09
set dd=%mydate:~0,2%
rem mm ist Monat 01...12
set mm=%mydate:~3,2%
rem hh ist Uhrzeit: 0...1...23: offenbar OHNE führende Null für 1 bis 9 Uhr
set hh=%mytime:~0,2%
echo Tag : %dd%
echo Monat : %mm%
echo Stunde: %hh%
rem s0=hhmmdd (5 oder 6 stellig)
set s0=%hh%%dd%%mm%
rem
https://sites.google.com/site/batchprogrammierung/befehle/how-to---einleitung/stringmanipulation
rem s1: String s0 ohne die letzten 3 Stellen
set /a s1=%s0:~0,-3%
rem s2: die letzten 3 Stellen von s0
set /a s2=%s0:~-3%
echo String %s0%\1000 (Int: %s1%), (frac: %s2%)
set sout=%s1%.%s2%
echo Ergebnis %sout%
rem Das Ergebnis ist ein String!!
echo %sout% > Ergebnis.txt
pause
[/code]