Top-Themen

Aktuelle Themen (A bis Z)

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 Win98 Batch - Datum ermitteln und die Variable splitten in tag,mon,jahr

Mitglied: 113992

113992 (Level 1)

06.11.2013, aktualisiert 07.11.2013, 2818 Aufrufe, 17 Kommentare, 2 Danke

Leider habe ich kein Win98, soll aber eine Prozedur schreiben, die in Variablen Tag, Monat, Jahr, Zeit (hh mm) enthält.
Die Var. %date% gibt es wie es scheint nicht.
Dies habe ich umschifft, indem ich dies in ein file geschrieben und dann ausgelesen habe.
in datum.txt steht die 1. Zeite des Kommandos date
Die Var ist gefüllt mit tt.mm.jjjj und dies muß aufgesplittet werden.
Hat jemand Win98 und kann dies testen oder so ändern, dass es geht? mit Datum hab ichs geschafft.
Mit Zeit geht es vermutlich analog. Dies habe ich aber noch nicht begonnen.
Wenn mir jemand hier helfen könnte, wär das schön.
Soweit bin ich mit schmöckern im Internet bereits gekommen:

01.
echo off
02.
echo. | date | find /i "aktuelles" > datum.txt
03.
type datum.txt 
04.

05.
type datum.txt | findstr /v "^#"
06.
rem der 3. Wert nach Trennzeichen Blank in Variable d
07.
rem Trennzeichen .  wär schön, wird aber abgewiesen.
08.

09.
for /F "tokens=3,3 delims= " %%a in ('type datum.txt ^| findstr /v "^#"') do (  
10.
        set d=%%a
11.
)
12.
@echo Variable d  xxx%d%xxx
13.
echo.
14.

15.
rem ab hier beisst es aus: ich weiß nicht, ob Substring-Kommandos unter Win98 laufen.
16.
rem unter Win7 geht es so.
17.
set tag=%d:~0,2%
18.
set mon=%d:~3,2%
19.
set jar=%d:~6,4%
20.
@echo Tag Mon Jahr xxxx%tag%xxx%mon%xxx%jar%xxx
21.
del datum.txt
22.
:eof
23.
pause
hier die Ausgabe unter Win7
E:\>echo off
Aktuelles Datum: 06.11.2013
Aktuelles Datum: 06.11.2013

Variable d  xxx06.11.2013xxx

Tag Mon Jahr xxxx06xxx11xxx2013xxx
Drücken Sie eine beliebige Taste . . .
Das schließen der DOS-Box geht in Win98 offensichtlich ebenfalls nicht.
Mitglied: Lochkartenstanzer
06.11.2013, aktualisiert um 23:09 Uhr
Ohne Win98 zum Testen wird das nichts. Da solltest Du die paar Kröten investieren.

Ich habe zwar noch Win98 in eine Krustelkiste herumliegen, aber aktuell keinen Rechner, (oder VM), auf dem das gerade verfügbar ist. Vielen anderen wird es genauso gehen, daß sie deswegen nicht anfangen wieder Win98 zu installieren. Da wird das einfachste sein, daß Du (oder Deine Brötchengeber) Dir eine Version kaufst/kauft.

lks
Bitte warten ..
Mitglied: Endoro
06.11.2013 um 23:16 Uhr
Hi,
unter win9x gibt es weder for /f noch set var=%var:a=b%.
Unter NT-Versionen kannst du das mit setlocal disableextensions testen.
lg
Bitte warten ..
Mitglied: pieh-ejdsch
07.11.2013 um 09:02 Uhr
moin,
vielleicht gehts mit der Zerbröselten Ausgabe
01.
cmd /u /c "date <nul |find "A"" |find /v "" >datei.txt
Nach der Entsprechenden Zeile den Datumbestandteil mit for rauspicken und anschliessend zusammensetzen.

Gruß Phil
Bitte warten ..
Mitglied: colinardo
07.11.2013, aktualisiert um 11:12 Uhr
Hallo Tilimann,

Grüße aus dem Jenseits :

b176af94c3da70a746630fb5b1f333db - Klicke auf das Bild, um es zu vergrößern

hab mal einiges probiert ... Fehlanzeige, Batch war damals doch noch sehr beschränkt ... hier mal ein Ausschnitt:

9e0a89a63e0b303e4af8d4da9ecb7887 - Klicke auf das Bild, um es zu vergrößern

auch eine Eingabeumleitung an Date bringt die Shell zum Absturz =8-)

@pieh-ejdsch
Für cmd war damals noch command das equivalent
Das schließen der DOS-Box geht in Win98 offensichtlich ebenfalls nicht.
mit exit gehts im Test, es muss in den Eigenschaften der DOS-Box das Häkchen "Beim Beenden schließen" gesetzt sein.

Wird also Zeit das Ihr die 98er Kiste in die ewigen Jagdgründe schickt !

Grüße Uwe

Alternative: verwende eine drittanbieter-exe die das Datum und die Zeit passend ausgibt.
Bitte warten ..
Mitglied: Lochkartenstanzer
07.11.2013, aktualisiert um 11:46 Uhr
Zitat von colinardo:
Alternative: verwende eine drittanbieter-exe die das Datum und die Zeit passend ausgibt.

@TO

Und vor allem: Installier Dir ein win98-Testsystem zum debuggen.

lks
Bitte warten ..
Mitglied: 113992
07.11.2013, aktualisiert um 22:37 Uhr
Hier bin ich wieder (Tiliman)
Danke für eure Bemühung.
Da ich nur diese eine Prozedur für enen Freund schreibe, der von Win keine Ahnung hat und nur seine Eisenbahnsteuerung auf diesem alten PC mit 1 GB Festplatte hat, habe ich auch keine Lust, Win98 auf meinem PC zu installieren.
Meine o.g. Prozedur werde ich mal testweise beim nächsten Treffen laufen lassen und schaun, was an Fehlern herauskommt.
Ich werde ihm eine Sicherungsprozedur einfachster Form erstellen.

1. ein Verzeichnis auf dem USB-Stick Sl-Sicherung
2. in diesem Verzeichnis 20 Unterverzeichnisse mit Namen 01 bis 20 (also bis zu 20 Sicherungen
2. in jedem Verzeichnis eine Prozedur zur Sicherung, die die Daten in dem Unterverz. Sl ablegt und gleichzeitig eine Rückholprozedur erstellt.
3. nach jeder Sicherung muß er das Verzeichnis umbenennen in das aktuelle Sicherungsdatum oder sich anderswo notieren
Die Struktur sieht dann nach der 1. Sicherung so aus:
Sl-Sicherung
01 mit Batch-Datei zur Sicherung und zum Rückholen
Sl Verzeichnis der gesicherten Daten
02 nur Batchdatei zum Sichern
03 nur Batchdatei zum Sichern
.......u.s.w.
Die DOS-Box muss er halt von Hand schliessen. Das Starten einer DOS-Box mit besonderen Parametern kann ich ihm nicht zumuten und ist auch nicht nötigl.
Im Alter von 74 Jahren und keine Ahnung von PC und Windows ist dies möchlicherweise problematisch.

Die Prozedur ist nicht schön. Sie muss noch etwas bereinigt werden, aber so etwa sieht sie aus.
01.
@echo .
02.
@echo .
03.
@echo Datum heute ist %d% Uhreit %h%:%mi% 
04.
@echo .
05.
@echo .
06.
@echo Beim Sichern muss das Eisenbahnprogramm Sl beendet sein
07.
@echo sonst kommt eine Share-Verletzung (zu sichernde Dateien in Benuetzung)
08.

09.
@echo .
10.
pause
11.
 
12.
@echo . 
13.

14.

15.
@xcopy C:\Sl Sl\ /E /I /C /Q /H /R /Y
16.

17.

18.
set datei=SL-zurueck-holen.bat
19.
@echo off
20.

21.
@echo @echo off >%datei%
22.
@echo @echo . >>%datei%
23.
@echo @echo . >>%datei%
24.

25.
@echo @echo Beim Sichern muss das Eisenbahnprogramm Sl beendet sein >>%datei%
26.
@echo @echo sonst kommt eine Share-Verletzung (zu sichernde Dateien in Benuetzung) >>%datei%
27.

28.
@echo @echo . >>%datei%
29.

30.
@echo pause  >>%datei%
31.

32.
@echo @echo .  >>%datei%
33.
@echo @echo.  >>%datei%
34.

35.
@echo xcopy Sl C:\Sl /E /I /C /Q /H /R /Y >>%datei%
36.
@echo @echo . >>%datei%
37.
@echo @echo Datenwiederherstellung wurde durchgefuehrt >>%datei%
38.
@echo @echo . >>%datei%
39.
 
40.
@echo pause >>%datei%
41.
@echo exit >>%datei%
42.

43.
@echo .
44.
@echo .
45.
@echo Die Datensicherung wurde durchgefuehrt
46.
@echo .
47.

48.

49.
pause
50.
@echo .
51.

52.
exit
[Edit Biber] Skizze mit den vielen @Echoes in Code-Tags gesetzt. [/Edit]
Bitte warten ..
Mitglied: pieh-ejdsch
08.11.2013 um 22:56 Uhr
moin,

Wenn denn soviele Probleme auftauchen müssen dies eben umschifft werden.
Die Sekunden werden daher unter den Tisch fallen.
Die Prozedur fürs setzen der Variablen sollte so zu lösen sein:
01.
@echo off
02.
set File=Datetime.txt
03.
del   %file% 2>nul
04.
echo.>%file%
05.
set   month=01 02 03 04 05 06 07 08 09 10 11 12
06.
set   hours=13 14 15 16 17 18 19 20 21 22 23 
07.
set    days=24 25 26 27 28 29 30 31
08.
set minutes=32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
09.
for %%Y in (%hours%) do dir %file% |find "%file%" |find ".20%%Y" >nul && set "YY=%%Y" 
10.
 rem erst den Mittelteil separieren, da dieser von Punkten Umschlossen ist
11.
for %%M in (%month%) do dir %file% |find "%file%" |find ".%%M." >nul && set "MM=%%M" 
12.
 rem Mit Hilfe der zwei Punkte des Mittelteils den ersten Teil extrahieren
13.
for %%D in (%month% %hours% %days%) do dir %file% |find "%file%"  |find "%%D.%MM%." && set "DD=%%D"
14.
for %%h in (00 %month% %hours%) do dir %file% |find "%file%" |find " %%h:" >nul && set "HH=%%h"
15.
for %%m in (00 %month% %hours% %days% %minutes%) do dir %file% |find "%file%"  |find ":%%m" >nul && set "Min=%%m"
16.
del   %file%
17.
echo(
18.
echo Jahr:    %YY%
19.
echo Monat:   %MM%
20.
echo Tag:     %DD%
21.
echo Stunde:  %HH%
22.
echo Minute:  %min%
Gruß Phil
Bitte warten ..
Mitglied: 113992
09.11.2013 um 23:26 Uhr
Hallo pieh-ejdsch,
Während des Schreibens dieses Textes habe ich langsam die Vorgehensweise verstanden.
meine Datumsdatei Datum.txt enthält (ob auch in Win98 weiß ich nicht)

Aktuelles Datum: 09.11.2013
Aktuelle Zeit: 2:39:05,34 (bei einstelligen Stunden)

Warum gibt es keine Unstimmigkeit, wenn es einmal File groß geschrieben und dann file heißt?
Das Kommande echo.>%file% dachte ich ist wohl fehlerhaft. Es überschreibt Datum und Zeit.
Aber OhO - welch Überraschung, nicht der Inhalt der Datei, sondern der Inhalt der Ausgabe von "dir" wird hier ausgewertet. Es muss noch nicht mal eine Datei mit Namen Datum.txt vorhanden sein.
Rafiniert.
Jetzt suche ich das Jahr mit Maske 20xx im Bereich 13 - 23 (2013 ...)
Analog für Monat, Tag, Stunde, Minute die entsprechende Anzahl der Variablen.
Jetzt hoffe ich nur, dass unter win98 Tag und auch Minute immer 2-stellig sind. auch bei 01.12. oder 00:xx Uhr. In Win7 ist es richtig.

Ich schreibe hier so viel,
1. um damit anzugeben, dass ich deinen Weg verstanden habe
2. um anderen, die vielleicht überlegen, was diese Prozedur macht, dies zu erklären.
Die Prozedur braucht für die Abarbeitung mehr Zeit, als für die Sicherung.
Der xcopy auf diesem Schnecken-PC braucht schon einige Minuten. Ich dachte schon, entwas falsch gemacht zu haben. Vielleicht schränke ich auch die zu sichernden Dateien noch ein, wenn ich ermitteln kann, in welchen Dateien die Daten liegen. Der sichere Weg dürfte aber die Komplettsicherung sein, da ich das Programm weder kenne noch damit arbeite.

Wenn die Prozedur fertig ist, werde ich sie nochmas posten.
Besten Dank und Gruß

Tiliman
Bitte warten ..
Mitglied: 113992
10.11.2013 um 11:07 Uhr
Hallo pieh-ejdsch,
Die Datei %file% muss natürlich vorhanden sein.
Ein Test mit "dir" ergibt einen Ablauf von guten 9 Sekunden.
Ein Test, die Ausgabe von "dir" in eine Datei
und diese Datei mit "type" auswerten ergibt einen Ablauf von 6 Sekunden.
Auf den Schnecken-PC hochgerechnet, vielleicht ein wesentlicher Unterschied.
Wenn man die Ausgabe des "dir" in eine Variable bringen kann und dann die Variable mit "echo" auswertet, vielleicht ist der "echo" Befehl noch schneller.

Wenn "Endoro" recht hat, was ich annehme, dann kann nicht mit Substring-Befehlen gearbeitet werden.
Rein theoretisch sollte dies noch schneller gehen.
Dann müsste ich aber die Ausgabe dieser einen Zeile dir %file% | find "Datum" in eine Variable leiten können.
Zunächst werde ich auf dem Win98-PC den Test mit Substring einer beliebigen Variablen durchführen.
Bis dahin:
1. Sicherungsversion ist abgespeckt
2. Sicherungsversion die von dir mit der Änderung auf "type".
bis dahin
Gruß

Tiliman
Bitte warten ..
Mitglied: 113992
11.11.2013 um 19:21 Uhr
Hallo wieder,
und noch'n Problem mit den Prozeduren.
Die abgespeckte Prozedur ist jetzt im Einsatz und läuft.
Die Ordner 01 bis 10 sind eingerichtet. Die Sicherung und Rückholung laufen.
Für die bessere und neue Prozedur reicht der Speicherplatz für die Batchdatei (u.Variablen) nicht aus.
Die Speicheraufteilung ist wie folgt:
Gesamt Belegt ---frei
636------- 63 --------573 (K)
----0----------0------------0 (oberer Bereich)
----0----------0------------0 (Reserviert)
31744-------188--31556
in Config.sys kann doch Command.com /E:xxxx angegeben werden.
Welcher Wert ist hier sinnvoll? 1024 oder 2048 ?? oder doch nur 512 weil nur 573 frei sind?
Kann diese Config.sys im laufenden System eingestellt werden für den nächsten Boot?
Ich habe nich nicht nachgesehen, was dort steht und wo die config.sys abgespeichert ist.
Steht sie ganz primitiv auf Laufwerk C: oder in versteckten Bereichen?
Noch eine Idee:
Wenn die Prozedur in mehrere Batch-Dateien gesplittet ist, die sich nacheinander aufrufen, wird dann weniger Speicher benötigt? Ich habe die Befürchtung, dass nicht.

Tiliman grüßt alle armen geplagten Helfer.
Bitte warten ..
Mitglied: 113992
26.11.2013, aktualisiert um 20:25 Uhr
Hallo servus wieder (Letzte Meldung zu diesem Beitrag von mir)

Damit ist alles Erforderliche gelöst.
Die Erweiterung des Umgebungsbereiches werde ich noch versuchen.
Hier meine Lösung:
Sichern:
MS-DosBox in Taskleiste mit Einstellung: Ausführen in E:\ (USB-Stick)
Dort Eingabe
s Datum
Die Prozedur s sichert in Ordner Datum und dort die Rückholprozedur und sichert die Sicherungsprozedur.
Die Rückholprozedur kopiert die Daten nach C:
01.
@echo off
02.
echo .
03.
copy D:\s.bat E:\
04.
set ziel= E:\Sl-Sicherung\%1
05.
if NOT exist E:\Sl-Sicherung mkdir Sl-Sicherung
06.
if exist  %ziel% rmdir /S /Q %ziel%
07.
mkdir %ziel%
08.
set sich=%ziel%\Sl-Sicherungsdatum.txt
09.
echo Eisenbahnprogramm Sl beendet???
10.
echo .
11.
@pause
12.
@echo .
13.
echo gesichert wird mit Datum  %1
14.
echo zurueckgeladene Daten haben Datum: %1 >%sich%
15.
echo .
16.
xcopy C:\Sl %ziel%\Sl\ /E /I /C /Q /H /R /Y
17.
set holen=%ziel%\SL-zurueck-holen.bat
18.
echo @echo off >%holen%
19.
echo echo . >>%holen%
20.
echo type %sich%  >>%holen%
21.
echo echo . >>%holen%
22.
echo echo Eisenbahnprogramm bendet???  >>%holen%
23.
echo pause  >>%holen%
24.
echo echo.  >>%holen%
25.
echo xcopy Sl C:\Sl /E /I /C /Q /H /R /Y >>%holen%
26.
echo echo . >>%holen%
27.
echo echo Datenwiederherstellung ist fertig >>%holen%
28.
echo echo Box schliessen
29.
echo echo . >>%holen%
30.
echo pause >>%holen%
31.
echo exit >>%holen%
32.
echo .
33.
echo Sicherung ist abgeschlossen mit Datum: %1
34.
echo .
35.
pause
36.
echo .
37.
exit
Gruß
Tiliman
Bitte warten ..
Mitglied: pieh-ejdsch
21.12.2013 um 16:23 Uhr
moin Tiliman,

ich habe die Prozedur zur Erstellung der Variablen Tag, Monat, Jahr, Zeit (hh mm) nochmals überarbeitet.
Die Ausgabe des DIR war dann doch etwas anders als erwartet.
Ein verknüpfter Folgebefehl kann nicht angelegt werden, nur die Auswertung des Errorlevels ist möglich.
Choice.com wertet das Format des Datum sowie die erste Ziffer von Datum und Uhrzeit aus.
Die Größe der Variablenwerte in der Umgebung werden sehr beschränkt und daher die nicht nachher benötigten Variablen entsprechend zeitig genug gelöscht.
Zum Einsparen der Variablen sind die Dateinamen fest eingetragen.
Der Batch arbeitet zur Ermittlung der Variablen im %temp% Verzeichnis.
Nacher geht er wieder ins Gestartete Verzeichnis und löscht die Tempdateien.

Ob die Batch nun 20 Sekunden oder eine Minute benötigt ist doch auch egal. (hier war es nach einem Liedschlag fertig)

Eine gestartete Verknüpfung *.pif der Test.Batch mit der Einstellung in den Eigenschaften (Registerkarte Programm) mit der Befehlszeile
C:\WINDOWS\COMMAND.COM /y /k C:\TEST.BAT
lässt ein Zeilenweises Debugging der Batch zu.

Getestet unter einem Virtuell angelegten Windows 98:
01.
@echo off
02.
ver|find "Windows 98" >nul
03.
if errorlevel 1 goto :Error98
04.
if Datum.==%1. goto :Datum
05.
if Zeit.==%1. goto :Zeit
06.
if Form.==%1. goto :Form
07.
if BAT.==%1. goto :Beginn
08.
if /?.==%1. goto :Hilfe
09.
prompt $g
10.
echo.|Date|find "A"
11.
echo.|Time|find "A"
12.
:: ++ File "%temp%\TempEin.txt" 
13.
echo.>"%temp%\TempEin.txt"
14.
echo.exit>>"%temp%\TempEin.txt"
15.
<"%temp%\TempEin.txt" command /k prompt cd $P |find ":" |find /v "exit" >"%temp%\TempBak.bat" 
16.
<"%temp%\TempEin.txt" command /k prompt $N |find ":" |find /v "exit" >>"%temp%\TempBak.bat" 
17.
if exist "%temp%\TempBat.bat" del "%temp%\TempBat.bat"
18.
:: ++ File "%temp%\TempBat.bat" 
19.
copy %0 "%temp%\TempBat.bat" >nul
20.
cd "%temp%"
21.
C:
22.
call TempBat BAT
23.
call TempBak
24.
:: -- Files Neues.bat Temp???.*
25.
del "%temp%\Neues.bat"
26.
del "%temp%\Temp???.*"
27.
echo ----- Variablen -----
28.
echo 	JJ=%JJ%
29.
echo 	MM=%MM%
30.
echo 	TT=%TT%
31.
echo 	HH=%HH%
32.
echo 	 m=%M%
33.
echo 	ss=%SS%
34.
if not .%ms%==. echo 	ms=%ms%
35.
if not .%wday%==. echo        Wday=%Wday%
36.
echo.
37.
echo Zeitstempel: %JJ%%MM%%TT%-%HH%%M%%SS%
38.
rem Hier kommt Dein Programm zum sichern hin
39.
rem oder das Sicherungsprogramm wird hier ausgeführt.
40.

41.

42.
pause
43.
exit
44.
:Error98
45.
echo Programm nur speziell fuer Windows 98 Optimiert.
46.
goto :Ende
47.
:Erfolg
48.

49.
:Beginn
50.
for %%i in (Wday JJ MM TT HH M SS ms Dateform) do set %%i=
51.
:: ++ File TempAus.bat Neuses.bat
52.
type nul>TempAus.bat
53.
type nul>Neues.bat
54.
echo.|Date|>TempEin.txt find "("
55.
echo exit >>TempEin.txt
56.
<TempEin.txt command /k prompt call TempBat Form |find ":" >>TempAus.bat
57.
echo.>>TempAus.bat
58.
echo exit |command /k prompt call TempBat Datum $D |find "call" >>TempAus.bat
59.
echo.>>TempAus.bat
60.
echo exit |command /k prompt call TempBat Zeit $T |find "call"   >>TempAus.bat
61.
echo.>>TempAus.bat
62.
TempAus
63.
goto :eof
64.

65.
:Form
66.
echo J|choice /s /n /c:%4 >nul
67.
for %%i in (1 4 7) do if errorlevel %%i set D=%%i
68.
:: +++ Var D D1 D4 D7
69.
set D%D%=JJ
70.
echo M|choice /s /n /c:%4 >nul
71.
for %%i in (1 4 7) do if errorlevel %%i set D=%%i
72.
set D%D%=MM
73.
echo T|choice /s /n /c:%4 >nul
74.
for %%i in (1 4 7) do if errorlevel %%i set D=%%i
75.
set D%D%=TT
76.
:: +++ Var D2 D3
77.
set D2=%D4%
78.
set D3=%D7%
79.
:: --- Vars D4 D7 D
80.
for %%i in (D4 D7 D) do set %%i=
81.
set Dateform=%D1% %D2% %D3%
82.
goto :Ende
83.

84.
:Datum
85.
:: +++ Var Datum
86.
set %1=%3
87.
if .==.%4 set %1=%2
88.
:: +++ Var Wday
89.
if not .==.%4 set Wday=%2
90.
:: +++ Var T
91.
echo %Datum% |choice /n /c:.,-\ >nul
92.
if errorlevel 1 set T=.
93.
if errorlevel 2 set T=,
94.
if errorlevel 3 set T=-
95.
if errorlevel 4 set T=\
96.
:: ++ File TempChk.bat TempEin.txt
97.
echo.>TempEin.txt
98.
echo.exit>>TempEin.txt
99.
<TempEin.txt command /k prompt find "%%2 %%4%%2" $LTempIst.bat $G$GTempFlt.bat |find "find" |find /v "exit" >TempChk.bat 
100.
:: -- File TempEin.txt
101.
del TempEin.txt
102.
:Teil1A
103.
:: +++ Var DF %D1%
104.
set DF=%D1%
105.
echo %Datum% |choice /n /c:1234567890 >nul
106.
for %%i in (1 2 3 4 5 6 7 8 9 10) do if errorlevel %%i set %D1%=%%i
107.
:: ++ File TempStx.bat
108.
>TempStx.bat echo if %%%D1%%%==10 set %D1%=0
109.
call TempStx
110.
:Teil1B
111.
:: ++ TempIst.bat TempFlt.bat
112.
type nul>TempIst.bat
113.
type nul>TempFlt.bat
114.
>TempStx.bat echo set String=%%%DF%%%
115.
:: +++ Var String
116.
call TempStx
117.
>>TempIst.bat for %%b in (0 1 2 3 4 5 6 7 8 9) do echo call TempCHK %D1% %String%%%b %Datum%
118.
call TempIst
119.
:: ++ File TempChk
120.
ren TempChk.bat TempChk
121.
>TempChk.bat echo set %%1=%%2
122.
call TempFlt
123.
del TempFlt.bat
124.
del TempChk.bat
125.
>TempStx.bat echo set FString=%%%D1%%%
126.
:: --- Var Astring
127.
set Astring=
128.
:: +++ Var FString
129.
call TempStx
130.
:: +++ Var Next
131.
set Next=Teil2A
132.
echo :%Datum% |find ":%FString%%T%" >nul
133.
if errorlevel 1 goto :plus2
134.
:Teil2A
135.
set DF=%D2%
136.
del TempIst.bat
137.
>>TempIst.bat for %%a in (0 1 2 3) do echo call TempCHK %D2% %%a %Datum% %%%D1%%%%T%
138.
ren TempChk TempChk.bat
139.
call TempIst
140.
ren TempChk.bat TempChk
141.
>TempChk.bat echo set %%1=%%2
142.
call TempFlt
143.
del TempFlt.bat
144.
del TempChk.bat
145.
>TempStx.bat echo set String=%%%DF%%%
146.
:: +++ Var %D2%
147.
call TempStx
148.
del TempIst.bat
149.
>>TempIst.bat for %%b in (0 1 2 3 4 5 6 7 8 9) do echo call TempCHK %D2% %String%%%b %Datum% %%%D1%%%%T%
150.
ren TempChk TempChk.bat
151.
call TempIst
152.
ren TempChk.bat TempChk
153.
>TempChk.bat echo set %%1=%%2
154.
call TempFlt
155.
del TempFlt.bat
156.
del TempChk.bat
157.
>TempStx.bat echo set FString=%%%D1%%%%T%%%%D2%%%
158.
>>TempStx.bat echo set Astring=%%%D1%%%%T%
159.
call TempStx
160.
echo :%Datum% |find ":%FString%%T%" >nul
161.
set Next=Teil3A
162.
if errorlevel 1 goto :plus2
163.
:Teil3A
164.
set DF=%D3%
165.
del TempIst.bat
166.
>>TempIst.bat for %%a in (0 1 2 3) do echo call TempCHK %D3% %%a %Datum% %%%D1%%%%T%%%%D2%%%%T%
167.
ren TempChk TempChk.bat
168.
call TempIst
169.
ren TempChk.bat TempChk
170.
:: +++ Var %D3%
171.
>TempChk.bat echo set %%1=%%2
172.
call TempFlt
173.
del TempFlt.bat
174.
del TempChk.bat
175.
>TempStx.bat echo set String=%%%DF%%%
176.
call TempStx
177.
del TempIst.bat
178.
>>TempIst.bat for %%b in (0 1 2 3 4 5 6 7 8 9) do echo call TempCHK %D3% %String%%%b %Datum% %%%D1%%%%T%%%%D2%%%%T%
179.
ren TempChk TempChk.bat
180.
call TempIst
181.
ren TempChk.bat TempChk
182.
>TempChk.bat echo set %%1=%%2
183.
call TempFlt
184.
del TempFlt.bat
185.
del TempChk.bat
186.
>TempStx.bat echo set FString=%%%D1%%%%T%%%%D2%%%%T%%%%D3%%%
187.
>>TempStx.bat echo set Astring=%%%D1%%%%T%%%%D2%%%%T%
188.
call TempStx
189.
set Next=Teilx
190.
echo :%Datum%: |find ":%FString%:" >nul
191.
if errorlevel 1 goto :plus2
192.
:Teilx
193.
:: --- Vars D1 D2 D3 String AString FString SubN SubMax T DF Next
194.
for %%i in (D1 D2 D3 String AString FString SubN SubMax T DF Next) do set %%i=
195.
del TempChk
196.
goto :Ende
197.

198.
:Plus2
199.
:: +++ Vars SubN SubMax
200.
set SubN=0
201.
set SubMax=2
202.
:Nummer
203.
>TempStx.bat echo set String=%%%DF%%%
204.
call TempStx
205.
del TempIst.bat
206.
>>TempIst.bat for %%x in (0 1 2 3 4 5 6 7 8 9) do echo call TempCHK %DF% %String%%%x %Datum% %AString%
207.
ren TempChk TempChk.bat
208.
call TempIst
209.
ren TempChk.bat TempChk
210.
>TempChk.bat echo set %%1=%%2
211.
call TempFlt
212.
del TempFlt.bat
213.
del TempChk.bat
214.
:: .... Zählschleife Durchgang
215.
echo %SubN%|choice /n /c:0123456789 >nul
216.
for %%i in (1 2 3 4 5 6 7 8 9 10) do if errorlevel %%i set SubN=%%i
217.
if %subn%==%SubMax% for %%i in (%Next%) do goto :%%i
218.
goto :Nummer
219.

220.
:Zeit
221.
@echo off
222.
:: +++ Vars Zeit ms HH
223.
set %1=%2
224.
set ms=%3
225.
type nul>TempFlt.bat
226.
type nul>TempIst.bat
227.
echo %Zeit% |choice /n /c:120 >nul
228.
for %%i in (1 2 3) do if errorlevel %%i set HH=%%i
229.
if %HH%==3 set HH=0
230.
:: ++ File TempEin.txt
231.
echo.>TempEin.txt
232.
echo.exit>>TempEin.txt
233.
<TempEin.txt command /k prompt find "%%2 %%4%%2" $LTempIst.bat $G$GTempFlt.bat |find "find" |find /v "exit" >TempChk.bat 
234.
:: -- File TempEin.txt
235.
del TempEin.txt
236.
>TempIst.bat type nul
237.
>>TempIst.bat for %%h in (0 1 2 3 4 5 6 7 8 9) do echo call TempCHK HH %HH%%%h %Zeit%
238.
call TempIst
239.
ren TempChk.bat TempChk
240.
>TempChk.bat echo set %%1=%%2
241.
call TempFlt
242.
del TempFlt.bat
243.
del TempChk.bat
244.
del TempIst.bat
245.
>>TempIst.bat for %%M in (0 1 2 3 4 5) do echo call TempCHK M %%M %Zeit% %HH%: 
246.
ren TempChk TempChk.bat
247.
call TempIst
248.
ren TempChk.bat TempChk
249.
>TempChk.bat echo set %%1=%%2
250.
:: +++ Var M
251.
call TempFlt
252.
del TempFlt.bat
253.
del TempChk.bat
254.
del TempIst.bat
255.
>>TempIst.bat for %%m in (0 1 2 3 4 5 6 7 8 9) do echo call TempCHK M %M%%%m %Zeit% %HH%:
256.
ren TempChk TempChk.bat
257.
call TempIst
258.
ren TempChk.bat TempChk
259.
>TempChk.bat echo set %%1=%%2
260.
call TempFlt
261.
del TempFlt.bat
262.
del TempChk.bat
263.
del TempIst.bat
264.
>>TempIst.bat for %%S in (0 1 2 3 4 5) do echo call TempCHK SS %%S %Zeit% %HH%:%M%:
265.
ren TempChk TempChk.bat
266.
call TempIst
267.
ren TempChk.bat TempChk
268.
>TempChk.bat echo set %%1=%%2
269.
:: +++ Var SS
270.
call TempFlt
271.
del TempFlt.bat
272.
del TempChk.bat
273.
del TempIst.bat
274.
>>TempIst.bat for %%s in (0 1 2 3 4 5 6 7 8 9) do echo call TempCHK SS %SS%%%s %Zeit% %HH%:%M%:
275.
ren TempChk TempCHK.bat
276.
call TempIst
277.
>TempChk.bat echo set %%1=%%2
278.
call TempFlt
279.
del TempFlt.bat
280.
del TempChk.bat
281.
del TempIst.bat
282.
goto :Ende
283.
:Hilfe
284.
echo Sowas - noch keine Hilfe Vorhanden.
285.
:Ende
286.
:eof
Gruß Phil
Bitte warten ..
Mitglied: 113992
21.12.2013 um 19:50 Uhr
Hallo Phil,
danke für deine Mühe.
Soviel Prozedur mit so wenig Inhalt. - Bitte nicht auf dich beziehen. Beileibe nicht.
Ich will erklären, warum ich diesen Ausspruch hier mache:

Dieser besagte Herr hat soviel Verständnis von PC-Sachen, dass er mir bei meinem letzten Besuch noch nichtmal sagen konnte, auf welchen seiner vielen (geschenkten USB-Sticks) nun eigentlich die letzten Sicherungen drauf ist.

Ich habe diesem Bekannten einen Uralt-Laptop mit winXP für die Eisenbahnsteuerung eingerichtet. Da sind dann noch ca. 500 MB frei. Die Eisenbahnsteuerung benötigt ja nur Speicher im KB-Bereich. Dort läuft die von dir erstellte Prozedur ohne Speichermangel problemlos.
Damit kann er dann auch im Wohnzimmer (bei seiner Gattin sitzend) die Parameter der Eisenbahn anpassen und auf das effektive System mit USB-Stick übertragen. Ich überlege auch, ob ich ihm WinXP installieren soll, Ich habe ja noch 2 XP-Pro Lizenzen und die ISO Datei einschl. SP3 vorrätig.
Nur die Aktivierung hapert, da kein Internet vorhanden ist, aber da gibt es ja noch die Umgehung der Aktivierung über registry. Als abgekapseltes System sind ja auch weder Update noch Virenscanner erforderlich.
Dennoch werde ich - im eigenen Interesse - deine Prozedur durcharbeiten, sie zu verstehen versuchen, auf Win7 testen, und dann auf dem Win98 Rechner ausprobieren -
aber voraussichtlich erst im neuen Jahr (Weihnachten/Neujahr kommen viele Besuche, viele Feste).
Im Command-Fenster Win98 habe ich übrigens xms/ems Speicher auf 5120 eingestellt. Der Speicher reichte trotzdem nicht.

Alles Gute zu Weihnachten und Neujahr - und -
auf dass möglichst viele deiner Wünsche sich der Realität weitestgehend annähern.
Gruß Tiliman
.
Bitte warten ..
Mitglied: Lochkartenstanzer
21.12.2013 um 20:02 Uhr
Zitat von 113992:

Nur die Aktivierung hapert, da kein Internet vorhanden ist, aber da gibt es ja noch die Umgehung der Aktivierung über
registry

Für die Aktivierung reicht ein Telefonanruf. da braucht man kein internet und keine Krücken mit registry-Änderungen.

lks
Bitte warten ..
Mitglied: 113992
21.12.2013 um 21:31 Uhr
Hallo Iks,

ja, ich weiß,
ich hab es mit dem genannten PC und XP home (oder so) probiert. Der Laptop wurde ihm so geschenkt. Das Windows war nicht aktivert. Die Wartezeit war abgelaufen. Ich habs über Tel. versucht, und es hat nicht geklappt. Den WLAN-USB-Treiben konnte ich dann ebenfalls nicht mehr installieren.
Entweder war Windows tatsächlich geklaut oder schon auf einer anderen Hardware aktiviert und geht auch dann nicht, wenn die alte Hardware vernichtet ist.

Ich habe dann testweise mein Pro darauf installiert aber noch nicht aktivert. Den Tip mit registry hab ich erst danach erfahren, sonst wäre die Installation des Treibers möglich gewesen.
Wenn ihm das System so passt, dann werd ich es mit diesem WinXP Pro nochmals telefonisch versuchen. Ich hab ja 30 Tage Zeit.
Ggfs. - ich habe ja inzwischen einen WLAN-USB-Stick, dann muß ich eben den Treiber installieren und die Aktivierung über Internet versuchen oder nach Ablauf der Zeit doch anders aktivieren und dann den Treiber installieren. Es gibt ja auch ein Gültigkeitsprogramm von MS.

Gruß Tiliman
und frohe Weihnacht und gutes Neues Jahr
Bitte warten ..
Mitglied: Lochkartenstanzer
22.12.2013 um 12:53 Uhr
Zitat von 113992:

Die Wartezeit war abgelaufen. Ich habs über Tel. versucht, und es hat nicht geklappt. Den WLAN-USB-Treiben konnte ich dann
ebenfalls nicht mehr installieren.
Entweder war Windows tatsächlich geklaut oder schon auf einer anderen Hardware aktiviert und geht auch dann nicht, wenn die
alte Hardware vernichtet ist.

Vermutlich hat er eine OEM-version draufgebügelt bekommen, die nur auf der ursprüglichen Hardware ohen Aktivierung läuft. Bei anderen Geräten muß man dann eien gültige Lizenz eintippen und aktivieren. Das Dumme ist nur, die Lizenz muß genau zu der Product-IdD passen, die auf der Platte ist. Also gültige Linzenznumemr eintippen udn aktiveren udn gut ist.

lks

PS: Auf den Lizenzaufklebern steht normalerweise zu welchem Medium diese Nummer gehört, z.B. X11-47374 bei einem DELL-OEM-XP-Home.
Bitte warten ..
Mitglied: 113992
22.12.2013 um 22:25 Uhr
Hei Lochkartenstanzer,
Es war keine CD/DVD dabei, auf dem Laptop ist kein Aufkleber, der Laptop lag bei ihm schon lange auf Halde. Er weiss nicht mal mehr, von wem der Laptop stammt. Dieser Laptop wird wohl auf dem Müll landen, denn das Programm benützt aus undefinierbaren Gründen auf diesem Laptop nicht den ganzen Bildschirm. Also winXP vernichten und Laptop auf den Müll. Dann habe ich wieder 2 Lizenzen.
Er hat noch weitere Laptaps (mindestens einen mit Win2000 und Win98 als Dual-BS und 30 GB FP) zu Hause liegen. Auf diesem läuft das besagte Programm besser. Viellelicht läuft die Sicherungsprozedur auf Win2000 ohne Speichermangel.
Ich war wohl zu schnell mit den Überspielen. Ich hätte zuerst mit einem Programm die Lizenznummer auslesen und mit USB-WLan in mein Netzwert einbinden sollen. Ich habs nicht getan.
Geschehen ist geschehen.
Was solls, die Lizenzen für WinXP benötige ich sowieso nicht mehr.
Ich trauere nur meiner Schnelligkeit im Prinzip nach, nicht den Lizenzen.
Ich habe ja jetzt wieder eine neue Prozedur erhalten, die für Win98 optimiert sein soll und auch nur auf Win98 läuft. Die werd ich demnächst testen. Dann sehe ich weiter.

Herzliche Grüße

Tiliman
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch Tabs ermitteln
gelöst Frage von IleiesBatch & Shell1 Kommentar

Hallo zusammen, Kann ich mit Batch ermitteln, welche Tabs zurzeit in Firefox geöffnet sind, bzw. welcher gerade im Vordergrund ...

Microsoft Office

EXCEL Bedingte Formatierung wenn bestimmtes Jahr im Datum ist

gelöst Frage von Hobi84Microsoft Office6 Kommentare

Hallo, ich habe eine Tabelle nach diesem Aufbau: 07/2015 08/2016 09/2017 07/2015 08/2016 09/2017 usw. Nun möchte ich das ...

Batch & Shell

(Batch) Datum Sortier-Mechanismus

gelöst Frage von clragonBatch & Shell19 Kommentare

Hallo zusammen. Ich bin schon etwas länger am Batch schreiben, und war schon oft uneingeloggt hier, und jetzt hab ...

Microsoft Office

Excel Bedingte Formatierung wenn Datum xx.xx.xxxx zweite Jahr 31.12 dann

gelöst Frage von KnuefiMicrosoft Office50 Kommentare

Hallo und guten Abend zusammen, ich habe eine Frage an die Excel Profis unter euch. Ich benötige für die ...

Neue Wissensbeiträge
Windows 10

"Windows 10 Pro V1903: Gruppenrichtlinie "Telemetrie zulassen" aktivierbar?"

Tipp von Snowbird vor 9 StundenWindows 102 Kommentare

Sicherheits-Tools

TrendMicro Worry-Free Business Security 10.0 SP1 - Jetzt in Deutsch verfügbar! (Windows 10 1903 Support)

Tipp von TrinXx vor 1 TagSicherheits-Tools1 Kommentar

Moin! Nach wochenlangem Warten wird Trend Micro das SP1 für WFBS 10 voraussichtlich am 26.08.19 veröffentlichen. Ich habe das ...

Hyper-V
Setup VM W2016 startet nicht in Hyper-V 2016
Erfahrungsbericht von keine-ahnung vor 3 TagenHyper-V7 Kommentare

Moin, sitze gerade über meinem neuen Server und versuche, die VM auf den Host zu prügeln. Jetzt wollte ich ...

Server-Hardware

HPE Proliant ML350P Gen8 Probleme mit Zugriff auf Raid-Volumes

Erfahrungsbericht von goscho vor 3 TagenServer-Hardware1 Kommentar

Hallo Leute, das Problemgerät: HPE ML350P G8 Windows Server 2012R2 HyperV-Host 8 x 300 GB 10K SAS HDD (1 ...

Heiß diskutierte Inhalte
Server
Ein Server ins Haus stellen. Was brauche ich dafür?
Frage von JoschiTomServer15 Kommentare

Hallo Community, ich spiele mit dem Gedanken eine Server mir zu holen. Was brauche ich dafür? Und wie sind ...

LAN, WAN, Wireless
Mikrotik Gast-Wlan keine Verbindung zum Internet?
Frage von dirkschwarzLAN, WAN, Wireless11 Kommentare

Guten Morgen, habe ein wahrscheinlich einfaches Problem, bei dem ich aber nicht wirklich weiter komme Ich möchte ein Gast-Wlan ...

Batch & Shell
Mittels SED Text ersetzen in Anführungszeichen
gelöst Frage von nekronBatch & Shell9 Kommentare

Moin … bin nicht wirklich der SED/regex Mensch, vielleicht kann mir jemand auf die Schnelle Helfen :) ich habe ...

Router & Routing
Eu-Domain von Rechnern nicht, vom Handy aber (im selben Netzwerk) schon erreichbar
gelöst Frage von mary-louRouter & Routing6 Kommentare

Hallo! Für ein gemeinnütziges StartUp haben wir zwei Domains, beide liegen bei whois.com: - unseredomain.eu - unseredomain-europe.org Bislang wurde ...