ruebezahl
Goto Top

Welche CMD- oder Rechnereinstellungen sind fehlerhaft?

Liebe Leute,


die folgende Programmzeile stammt aus Bibers Programm "GetAllSystemDateTimeInfos_3.bat" (siehe "Workshop Batch for Runaways Part III Datums- und Zeitvariablen im Batch"):

FOR /F "tokens=1* delims==" %%i IN ('Type %RegFile% ^| FIND /I "iDate"') DO SET iDate=%%j  

Diese Zeile wie auch das ganze Programm funktioniert unter Windows 2000 / XP / 2003 vollkommen einwandfrei.
Nur an einem Windows 2000 - Rechner funktioniert es nicht.
Dort erscheint die Meldung

"iDate"="1"

auf dem Bildschirm.
Die Zeile mit "sDate" funktioniert übrigens auch nicht und bringt eine ebensolche Meldung auf den Bildschirm.

Vermutlich sind eine oder vielleicht mehrere Einstellungen des Rechners fehlerhaft.

Hat irgendjemand eine Idee?


Vielen Dank für Eure Mühe und Eure Zeit.
Herzliche Grüße

Ruebezahl


[EDIT]


Liebe Leute,


hier zum besseren Verständnis des Problems die wesentlichen Zeilen des Programms (Quelle: )


::--------snapp GetAllSystemDateTimeInfos_3.bat
@ECHO OFF
:: (c) Biberware 2005 Placed in the Public Domain Oct 2005 for Educational Purposes
:: Ermittelt ein paar Datumsvariablen aus dem CMD-Environment (Systemdatum) <b>MIT </b>REG-Abfragen



Set RegFile=%temp%\%random%.reg
START /W REGEDIT /E %Regfile% "HKEY_CURRENT_USER\Control Panel\International"  



FOR /F "tokens=1* delims==" %%i IN ('Type %RegFile% ^| FIND /I "iDate"') DO SET iDate=%%j  
FOR /F "tokens=1* delims==" %%i IN ('Type %RegFile% ^| FIND /I "sDate"') DO SET sDate=%%j  
DEL %RegFile%


Die beiden FOR-Schleifen arbeiten fehlerhaft - und das, wie bereits weiter oben beschrieben, nur an einem einzigen Windows 2000 - Rechner.


Vielen Dank für Eure Mühe und Eure Zeit.
Herzliche Grüße

Ruebezahl

Content-ID: 80239

Url: https://administrator.de/contentid/80239

Ausgedruckt am: 20.11.2024 um 13:11 Uhr

Dani
Dani 08.02.2008 um 11:28:12 Uhr
Goto Top
Hallo Ruebezahl,
kannst du bitte deine ganze Batchfile posten + Nebendateien wie "%RegFile%?! Im Moment wird es schwer, genau zu definieren wo der Fehler sitzt. Mein Glaskugel kram ich ungern raus... *g*


Grüße
Dani
Biber
Biber 08.02.2008 um 17:01:50 Uhr
Goto Top
Moin Rübezahl,

den Fehler selbst kann ich momentan auch nicht rekonstruieren.

wie das Regfile aussehen sollte bei richtig (bzw. normalerweise) gesetzten Werten, kannst Du Dir an einer der Maschinen ansehen, wo das Skript läuft.

In dem Tut habe ich aber auch einen Komplettausdruck dieses Reg-Hives gepostet.
Da auch die Anzeige "iDate"="1" auf dem Bildschirm erscheint, scheint zudem auch der Wert von "idate" in dem Regedit-Export vorzuliegen.
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\International]
"iCountry"="49"  
"iCurrDigits"="2"  
"iCurrency"="3"  
"iDate"="1"           <---------------------------und zwar hier  
"iDigits"="2"  
"iLZero"="1"  
"iMeasure"="0"  
"iNegCurr"="8"  
"iTime"="1"  
"iTLZero"="1"  
....

Du kannst ja mal an diesem Rechner ein
START /W REGEDIT /E test.reg "HKEY_CURRENT_USER\Control Panel\International"  
...abfeuern oder alternativ am CMD-Prompt zur Sichtkontrolle ein..
reg query "HKCU\Control Panel\International"  

Für mich hört es sich eher so an, als hätte dieser Rechner eventuell eine Montags-Kopie des Skriptchens bekommen - ersetz diese doch bitte mal durch eine andere Kopie.

Grüße
Biber
Ruebezahl
Ruebezahl 09.02.2008 um 15:24:52 Uhr
Goto Top
Hallo Biber,


Deine Vermutung mit der Montagskopie hatte ich auch schon und habe mir deshalb heute, an einem Sonnabend, eine neue Kope gezogen. Sie läuft anderswo klaglos - nur aus dem besagten Rechner nicht. Damit hätten wir den Wochentag als Fehlerursache ausgeschlossen.

Die Ausgabedatei "%RegFile%" der Registry weisst keinerlei Besonderheiten auf:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\International]

.
.
.
"iDate"="1"  
.
.
.
"sDate"="."  
.
.
.

Auch Ausgabedatei der Registry fällt damit damit als Fehler aus dem Rennen.


Herzliche Grüße
Ruebezahl