Jump to content

Batch: File auf Inhalt durchsuchen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

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?

Geschrieben

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

Geschrieben

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

Geschrieben

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.

Geschrieben

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 . . .

Geschrieben

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

Geschrieben

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?

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...