svaste 10 Geschrieben 26. Juni 2006 Melden Teilen Geschrieben 26. Juni 2006 Hallo zusammen Ich suche eine Lösung für folgendes Problem: Ich habe ein registry key exportiert in ein txt File. Das Text file beinhaltet eine versionsnummer "Version REG_SZ 10.1.2.0.6" und ich möchte gerne per batch script, überprüfen ob die versionsnummer = 10.1.2.0.6 ist, wenn ja geht das script weiter. Kann mir jemand helfen? Zitieren Link zu diesem Kommentar
R.Ralle 10 Geschrieben 26. Juni 2006 Melden Teilen Geschrieben 26. Juni 2006 hallo, ich hab das nur schnell mal in der cmd gemacht, muss nur noch in ne bat oder so umgebaut werden denke ich set test=version reg_sz 10.1.2.0.6 echo %test% ---> version reg_sz 10.1.2.0.6 echo %test:~15,25% -----> 10.1.2.0.6 und das mit if vergleichen Ralph Zitieren Link zu diesem Kommentar
GregorBHV 10 Geschrieben 26. Juni 2006 Melden Teilen Geschrieben 26. Juni 2006 Hallo, mit folgender Anweisung kannst du es machen: set vergl_key=10.1.2.0.6 for /f "tokens=3" %%i In (datei.txt) do ( set reg_key=%%i ) danach einfach nur mit einer IF Anweisung den reg_key mit dem vergl_key vergleichen. MFG Gregor Zitieren Link zu diesem Kommentar
svaste 10 Geschrieben 26. Juni 2006 Autor Melden Teilen Geschrieben 26. Juni 2006 Danke für die rasche Hilfe. ich habe nun den Batch so gebaut. set vergl_key=10.1.2.0.6 for /f "tokens=3" %%i In (C:\b.txt) do ( set reg_key=%%i ) pause if %vergl_key%==%reg_key% goto New echo "Alt" pause goto eof :New echo "Neu" pause Als Ergebnis kommt folgendes zurück C:\Dokumente und Einstellungen\svaste\Desktop>(set reg_key=0x1 ) C:\Dokumente und Einstellungen\svaste\Desktop>pause Drücken Sie eine beliebige Taste . . . C:\Dokumente und Einstellungen\svaste\Desktop>if 10.1.2.0.6 == 0x1 goto New C:\Dokumente und Einstellungen\svaste\Desktop>echo "Alt" "Alt" 0x1 ??? Was stimmt da nicht? Die Versionsnummer ist 100% so (10.1.2.0.6) im File. Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 26. Juni 2006 Melden Teilen Geschrieben 26. Juni 2006 for /f "tokens=3" %%i In (C:\b.txt) do echo %%i Schau mal bitte das Ergebnis an! Ist es das Erwartete? Zitieren Link zu diesem Kommentar
svaste 10 Geschrieben 26. Juni 2006 Autor Melden Teilen Geschrieben 26. Juni 2006 Hat auch nicht viel genutzt. C:\>set vergl_key=10.1.2.0.6 C:\>for /F "tokens=3" %i In (C:\b.txt) do echo %i C:\>echo 10.1.2.0.6 10.1.2.0.6 C:\>set reg_key=%i C:\>pause Drücken Sie eine beliebige Taste . . . C:\>if 10.1.2.0.6 == %i goto New C:\>echo "Alt" "Alt" C:\>pause Drücken Sie eine beliebige Taste . . . Zitieren Link zu diesem Kommentar
thorgood 10 Geschrieben 26. Juni 2006 Melden Teilen Geschrieben 26. Juni 2006 Hi, versuche es mit find. find /I "10.1.2.0.6" C:\b.txt %errorlevel% ist 0 wenn vorhanden und 1 wenn nicht vorhanden. thorgood Zitieren Link zu diesem Kommentar
svaste 10 Geschrieben 26. Juni 2006 Autor Melden Teilen Geschrieben 26. Juni 2006 OK, Danke So hat es funktioniert. Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 27. Juni 2006 Melden Teilen Geschrieben 27. Juni 2006 Also, ich habe das nun mal mit 2k getestet und es funktioniert. set vergl_key=10.1.2.0.6 for /f "tokens=3" %%i In (C:\b.txt) do ( set reg_key=%%i ) if %vergl_key%==%reg_key% goto New echo "Alt" pause goto eof :New echo "Neu" pause Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 27. Juni 2006 Melden Teilen Geschrieben 27. Juni 2006 Die Klammerung ist an dieser Stelle nicht nötig, macht keinen Sinn. for /f "tokens=3" %%i In (C:\b.txt) do set reg_key=%%i Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 27. Juni 2006 Melden Teilen Geschrieben 27. Juni 2006 Falls die Vergelichsoperation nicht zum gewünschten Ergebnis führt, ist zu vermueten, es befindet sich ein nichtsichtbarer Charakter mit im Token, wahrscheinlich ein Space am Ende des Strings. Ich habe die b.txt nun mit dem Editor erstellt, damit ist der Inhalt sozusagen sauber. Wie wurde die b.txt des TO denn erzeugt? Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.