myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   Datum unter Windows 7 zurücksetzen /Batch (https://mygully.com/showthread.php?t=2782637)

Flugelche 20.12.12 15:58

Datum unter Windows 7 zurücksetzen /Batch
 
Ich habe ein Programm was zeitlich begrenzt ist.
Mit ollydbg konnte ich die Stelle leider nicht finden.
Es läßt sich aber mit dem Datum austricksen.
Jetzt habe ich eine Patch datei geschrieben, was auch soweit funktioniert.
Er setzt das Datum aber beim zurücksetzen , kommt ein Fehler wenn die Differenz zum aktuellen Datum zu groß ist.
Ändere ich nur die Urzeit dann funzt es alles super aber wenn es um tage geht kommt eine Fehlermeldung.
Zitat:

"zeit synchronisieren zu groß war. wurde nicht synchronisiert, da die erforderliche Zeitänderung"
Im Registrierschlüssel bin ich aber auch nicht fündig geworden
Code:

hkey_local_machine system currentcontrolset services w32time time
Eigentlich müßte es gehen denn wenn ich bei Windows direkt das Datum synchronisiere macht er es ja auch , auch wenn es Jahre sind
Hier mal der S*****, vielleicht habt ihr noch eine Idee
PHP-Code:

@echo off &setlocal
set current
=%date%
date 17.12.2012
start G
:\ABC.EXE
net stop w32time
net start w32time
ping 127.0.0.1 
-n 2 >nul
w32tm 
/config /syncfromflags:manual /manualpeerlist:ptbtime1.ptb.de
w32tm 
/config /update
w32tm 
/resync 

Ich hatte auch überlegt wenn man das Datum in eine Textdatei schreibt und diese dann anschließend nutzt um sie wieder zurückschreibt.
Würde das gehen und wenn ja wie.
Danke für eure Hilfe ud Unterstützung.
mfg
Peter

fryx 20.12.12 16:11

Code:

:: Datum in die Textdatei
date /t > datum.txt

:: Und wieder raus (geht nur als Admin)
date < datum.txt


Flugelche 20.12.12 16:28

Super , das war die Lösung.
Habe meine bat in eine exe umgewandelt und diese als Admin ausführen deklariert.
Mit dem Programm "Bat_To_Exe_Converter"
Jetzt funzt es.
Danke ,Danke du bist ein Held.
Hier der Code für euch, die auch das Problem haben

PHP-Code:

@echo off &setlocal
date 
/G:\datum.txt
set current
=%date%
date 17.12.2012
start G
:\ABC.EXE
ping 127.0.0.1 
-n 10 >nul
date 
G:\datum.txt 

mfg
Peter

fryx 20.12.12 17:04

Wenn du start so eingibst:
Code:

start /w G:\ABC.EXE
..wartet der start-Befehl, bis G:\ABC.EXE beendet wurde.
Es sei denn, G:\ABC.EXE startet seinerseits einen Prozess.

Flugelche 20.12.12 17:08

Noch besser, dann brauch ich keine Zeitschleife und lass den ping Befehl weg.
Habe es gerade getestet.
Pefekt.
Nochmals Danke.
mfg
Peter


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:08 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.