AdminMod.de https://www.adminmod.de/ |
|
Hilfe benötigt: Get Registry String in batch file https://www.adminmod.de/viewtopic.php?t=8794 |
Seite 1 von 2 |
Autor: | Sena+or [ 25.08.2004, 16:14 ] | ||
Betreff des Beitrags: | Hilfe benötigt: Get Registry String in batch file | ||
hi all! also ich habe mir für mein hl ein launcher menu gebastelt (batch file) Code: @echo off :start cls echo. echo HL Main Menu - launch a HL(Mod) Game echo. echo "Type 1 and press <ENTER> to play Condition Zero" echo "Type 2 and press <ENTER> to play Counter Strike" echo "Type 3 and press <ENTER> to play Day Of Defeat" echo "Type 4 and press <ENTER> to play Deathmatch Classic" echo "Type 5 and press <ENTER> to play Team Fortress Classic" echo "Type 6 and press <ENTER> to play Ricochet" echo "Type 7 and press <ENTER> to play Conditon Zero - Deleted Cenes" echo "Type 8 and press <ENTER> to play Opossing Force" echo "Type 9 and press <ENTER> to play Half Life" echo "Type s and press <ENTER> to launch LAN Server Menu" echo "Type x and press <ENTER> to leave" echo. set choice= set /p choice= if not '%choice%'=='' set choice=%choice:~0,1% if '%choice%'=='1' goto czero if '%choice%'=='2' goto cstrike if '%choice%'=='3' goto dod if '%choice%'=='4' goto dmc if '%choice%'=='5' goto tfc if '%choice%'=='6' goto ricochet if '%choice%'=='7' goto czeror if '%choice%'=='8' goto gearbox if '%choice%'=='9' goto hl if '%choice%'=='s' goto server if '%choice%'=='x' goto end cls ECHO "%choice%" is not valid press any key and try again ECHO. pause goto start :czero hl.exe -game czero goto end :cstrike hl.exe -game cstrike goto end :dod hl.exe -game dod goto end :dmc hl.exe -game dmc goto end :tfc hl.exe -game tfc goto end :ricochet hl.exe -game ricochet goto end :czeror hl.exe -game czeror goto end :gearbox hl.exe -game gearbox goto end :hl hl.exe goto end :server cls echo. echo HL Server Menu - serve a game using standard LAN settings echo. echo "Type 1 and press <ENTER> to serve Condition Zero" echo "Type 2 and press <ENTER> to serve Counter Strike" echo "Type 3 and press <ENTER> to serve Day Of Defeat" echo "Type 4 and press <ENTER> to serve Deathmatch Classic" echo "Type 5 and press <ENTER> to serve Team Fortress Classic" echo "Type 6 and press <ENTER> to serve Ricochet" echo "Type b and press <ENTER> to go Back to the Main Menu" echo "Type x and press <ENTER> to leave" echo. set choice= set /p choice= if not '%choice%'=='' set choice=%choice:~0,1% if '%choice%'=='1' goto sczero if '%choice%'=='2' goto scstrike if '%choice%'=='3' goto sdod if '%choice%'=='4' goto sdmc if '%choice%'=='5' goto stfc if '%choice%'=='6' goto sricochet if '%choice%'=='b' goto start if '%choice%'=='x' goto end cls ECHO "%choice%" is not valid press any key and try again ECHO. pause goto server :sczero hl.exe -game czero -nomaster -insecure -noipx +sv_lan 1 +maxplayers 16 goto end :scstrike hl.exe -game cstrike -nomaster -insecure -noipx +sv_lan 1 +maxplayers 16 goto end :sdod hl.exe -game dod -nomaster -insecure -noipx +sv_lan 1 +maxplayers 16 goto end :sdmc hl.exe -game dmc -nomaster -insecure -noipx +sv_lan 1 +maxplayers 16 goto end :stfc hl.exe -game tfc -nomaster -insecure -noipx +sv_lan 1 +maxplayers 16 goto end :sricochet hl.exe -game tfc -nomaster -insecure -noipx +sv_lan 1 +maxplayers 16 goto end :end clsist noch ungetestet und ziemlich primitiv, gehört einfach in das hl-verzeichnis kopiert... meine Frage: hat jemand eine ahnung mit welchem befehl ich einen registry string im dos shell ausgegen kann? ich bräuchte den wert von Code: HKEY_CURRENT_USER\Software\Valve\Half-Life\InstallPathdamit ich das script von jedem beliebigen ordner aus nutzen kann mein denkansatz mit reg.exe (aus dem NT-Resource Kit) Code: D:\NTRESKIT>reg.exe query HKEY_CURRENT_USER\Software\Valve\Half-Life\InstallPathergibt Code: REG_SZ InstallPath D:\Half-Lifetja und ich bräuchte eigentlich nur den letzten teil (D:\Half-Life) bin für jede Hilfe dankbar, im Anhang ist die erwähnte reg.exe (virenfrei natürlich)
|
Autor: | [WING] Black Knight [ 25.08.2004, 17:24 ] |
Betreff des Beitrags: | |
Mal eine Frage... Warum machst Du Dir nicht ein paar Desktopverknüpfungen? |
Autor: | Sir Drink a lot [ 25.08.2004, 18:11 ] |
Betreff des Beitrags: | |
ich habe auch mal so eins geschrieben. Ich liebe GUI |
Autor: | Sena+or [ 25.08.2004, 20:53 ] |
Betreff des Beitrags: | |
Zitat: Mal eine Frage... Warum machst Du Dir nicht ein paar Desktopverknüpfungen?
naja hier hab ichs schön zentral und behalt den überblick, außerdem tu ich mir hier leichter einzelne startparameter zu ändern...außerdem Zitat: ich habe auch mal so eins geschrieben.
da kann ich dir nur zustimmen Ich liebe GUI ne antwort auf mein registry problem habt ihr nicht? |
Autor: | Sir Drink a lot [ 25.08.2004, 22:13 ] |
Betreff des Beitrags: | |
^habe mal in google gesucht aber nix gefunden |
Autor: | [WING] Black Knight [ 25.08.2004, 22:57 ] |
Betreff des Beitrags: | |
Ich frag mich, wie Du das Batchskript startest ganz ohne Maus. Wenn man das überscihtlich haben möchte, tut es vielleicht auch ein Ordner auf dem Desktop, der die Verknüpfungen beinhaltet. Na ja, warum einfach, wenn es auch kompliziert geht... Aber Ihr beide seid schlechte Googler: http://neworder.box.sk/newsread.php?newsid=2750 |
Autor: | Sir Drink a lot [ 26.08.2004, 00:02 ] |
Betreff des Beitrags: | |
Hab mir schon gedacht, dass ich ein schlechter Googler bin Es ist komisch. Ich kann nicht erklären, warum ich eine bat datei bevorzuge, anstatt einen Ordner mir der entsprechenden Verknüpfung... Obwohl ich dies z.Z. so habe. Ich finde es feiner, wenn ich eine Datei habe, wo ich per Auswahl die entsprechende Funktion ausführe.. Hm...ob man da mal einen Psychologen ranlassen sollte, zwecks Analyse? |
Autor: | Sena+or [ 26.08.2004, 09:08 ] |
Betreff des Beitrags: | |
nönö du bist schon heile, aber das hat irgendwie einfach style ...außerdem waren batch scripte so ziemlich das erste was ich überhaupt auf einem PC gemacht hab, damals noch aufm 286 mit sage und schreibe 16 MHz und 20 Megabyte Festplatte, RAM weiß ich net mehr, kann maximal ein Megabyte gewesen sein, Monochrom Grafik (von Hercules, die waren längerfristig weg vom fenster und haben dann wieder begonnen geforce karten zu bauen) das ganze unter dos 3.3 bis 6.2 damit ich den überblick über meine unzähligen spiele behalten hab (blockout, lhx, testdrive, gp2, ...) textverarbeitung war damals glaub ich framework oder ms-works 3.0 ... irgenwann hab ich sogar ein ganzes text-adventure in batch programmiert (goto, type, blablabla) mit was-weiß-ich wievielen unterordner und wahlmöglichkeiten, später das ganze mit QBasic ...deshalb bin ich so vernarrt in die batcherei Zitat: Ich frag mich, wie Du das Batchskript startest ganz ohne Maus.
holla - tja den hab ich auch gefunden, reg.exe ist genau das was in meinem attachment ist ... google hat mich selten im stich gelassenWenn man das überscihtlich haben möchte, tut es vielleicht auch ein Ordner auf dem Desktop, der die Verknüpfungen beinhaltet. Na ja, warum einfach, wenn es auch kompliziert geht... Aber Ihr beide seid schlechte Googler: http://neworder.box.sk/newsread.php?newsid=2750 ohne maus starten? kein problem Windowstaste + R und dann mein generelles launcher menu main.bat starten, welches in einem PATH liegt - oder tastenkombination, was dir halt lieber ist aber bei einem query mit reg.exe bekomm ich eben zuviel information: Code: REG_SZ InstallPath D:\Half-Lifeund ich bräuchte eben nur Code: D:\Half-Lifene harte nuss |
Autor: | Sena+or [ 26.08.2004, 10:02 ] |
Betreff des Beitrags: | |
hab folgendes im netz gefunden und für meine zwecke abgeändert Code: @echo off :: delims is a TAB followed by a space FOR /F "tokens=2* delims= " %%A IN ('REG QUERY "HKEY_CURRENT_USER\Software\Valve\Half-Life\InstallPath"') DO SET hlp=%%B ECHO %hlp%\funktioniert aber nicht , %hlp% bleibt leer das original sieht so aus Code: @ECHO OFF :: delims is a TAB followed by a space FOR /F "tokens=2* delims= " %%A IN ('REG QUERY "HKCU\Control Panel\International" /v sCountry') DO SET Country=%%B ECHO Country=%Country%und ist hier zu finden http://www.robvanderwoude.com/ntregistry.html |
Autor: | [WING] Black Knight [ 26.08.2004, 18:11 ] |
Betreff des Beitrags: | |
Gegen Dich will ich mal Counter-Strike zocken. Aber Du darfst keine Maus benutzen!! |
Autor: | Sena+or [ 26.08.2004, 19:16 ] |
Betreff des Beitrags: | |
geht klar, ich hab vielleicht irgendwo noch ein gamepad liegen aber was der fehler bei der schleife ist kannste mir nicht sagen? |
Autor: | Sir Drink a lot [ 26.08.2004, 19:57 ] |
Betreff des Beitrags: | |
Code: @ECHO OFF :: delims is a TAB followed by a space FOR /F "tokens=2* delims= " %%A IN ('REG QUERY "HKEY_CURRENT_USER\Software\Valve\Half-Life" /v InstallPath') DO SET Country=%%B ECHO Country=%Country%req query /? kann helfen Valve_Steam: REG QUERY "HKEY_CURRENT_USER\Software\Valve\Steam" /v ModInstallPath |
Autor: | Sena+or [ 27.08.2004, 14:36 ] |
Betreff des Beitrags: | |
hmm das reg query stimmt schon, hab herausgefunden, das es egal ist, ob du nun direkt auf den subkey verweißt, oder den subkey mit /v subkey angibts... also Code: 'REG QUERY "HKEY_CURRENT_USER\Software\Valve\Half-Life" /v InstallPath'ist dasselbe wie Code: 'REG QUERY "HKEY_CURRENT_USER\Software\Valve\Half-Life\InstallPath"'kommt beide male Code: REG_SZ InstallPath D:\Half-Lifeheraus, die for-schleife sollte eigentlich nur Code: D:\Half-Lifeausgeben das bedeutet der fehler liegt irgendwo hier... Code: @echo off :: delims is a TAB followed by a space FOR /F "tokens=2* delims= " %%A IN ('REG QUERY "HKEY_CURRENT_USER\Software\Valve\Half-Life\InstallPath"') DO SET hlp=%%B ECHO %hlp%\macht nix wenn ihr passen müsst, das script funktioniert so auch schon ganz gut... wär halt praktisch gewesen in XP ist reg.exe angeblich bereits integriert (sogar ver 3.0), kann das aber nicht prüfen, weil ich keine xp installation habe, ist somit der erste nachteil, den ich feststellen kann, ein xp-gegner zu sein das und die tatsache, das das neue adobe premiere nicht auf 2k läuft... |
Autor: | [WING] Black Knight [ 27.08.2004, 14:57 ] |
Betreff des Beitrags: | |
Ist in XP integriert. Mag es auch nicht, aber die ganzen Spiele laufen nunmal nicht so ohne weiteres auf Linux... Da wäre dann auch Batchskripten kein Problem. Mal wieder eine fiese Frage: Warum muss es denn unbedingt aus der Registry ausgelesen werden. Kann man nicht einfach "D:\Half-Life" auch per SET Befehl setzen. |
Autor: | Sir Drink a lot [ 27.08.2004, 17:45 ] |
Betreff des Beitrags: | |
Hm..also das sind 2 unterschiedliche Dinge. Das eine geht bei mir gar nicht, wenn man InstallPath mit einfügt. Probiere es doch mal direkt in cmd aus. Und die for Schleife mit 'REG QUERY "HKEY_CURRENT_USER\Software\Valve\Half-Life" /v InstallPath' hat bei mir funktioniert und mir z.B. nur D:\Halflife ausgegeben. (delims= ein Tabulatorsprung!) Ich benutze XP. @Blacky: Zitat: Warum muss es denn unbedingt aus der Registry ausgelesen werden. Kann man nicht einfach "D:\Half-Life" auch per SET Befehl setzen.
nehem an, um es flexibel auf allen Rechnern einzusetzen.
|
Autor: | [WING] Black Knight [ 27.08.2004, 19:09 ] |
Betreff des Beitrags: | |
Wenn man maximale Flexibilität haben möchte, dann wäre vielleicht mal das Einarbeiten in eine Programmiersprache nicht schlecht. VB, C++, Perl o.ä. Batch-Skripte haben so ihre Grenzen. |
Autor: | Sir Drink a lot [ 27.08.2004, 22:24 ] |
Betreff des Beitrags: | |
nun. ich kannte die reg.exe noch nicht... ich muss zugeben, dass ich nicht in die 286/386/486 Generation gehöre...da hatte ich noch einen C64 *ich war arm, und hatte nicht das Geld bzw. meine Eltern* Aber nichts desto trotz finde ich die Idee der Batch Datei ziemlich interessant! |
Autor: | Sena+or [ 28.08.2004, 03:24 ] |
Betreff des Beitrags: | |
danke für die blumen Zitat:
nehem an, um es flexibel auf allen Rechnern einzusetzen.
genau um das gehts es soll funktionieren, egal auf welchem pc, mit beliebigem installpath...@Blacky tja mit den spielen unter linux hast du leider recht, ich hab bis vor einer weile noch fleißig rumemuliert, wine(x) benutzt um die dinger zum laufen zu bringen, kam mir aber dabei jedesmal vor als würde ich das so schön stabile linux mit so einem schrott regelrecht vergewaltigen, naja ziemlich buggy das ganze gibt halt wirklich nicht viele spiele mit native linux support, ut hab ich lange gespielt, dafür gabs ne eigene linux install... holarse.net ist meine quelle wenns um diese dinge geht... hmm bin noch nicht weiter gekommen, hätte einer der beiden herren die güte mir die in xp enthaltene reg.exe zu mailen/ hier zu posten (virenfrei bitte ) -> martin DOT zittmayr AT aon DOT at <- danke @Sdal naja reich waren wir eigentlich auch nie, mein vater hat halt gespart, war zu der zeit edv-teacher - das zeug war ja wirklich sauteuer für damalige maßstäbe, und ich hab dann halt immer "geerbt" zuerst den 8080 mit cga, dann eben den 286 irgenwann einen gebrauchten 386 (IBM PS/2) und letztendlich den 486 DX/2 (der hat neu 50.000 ATS gekostet (=7150 DM) und das 1993/94) und hatte stolze 66 MHz - verrückt - das ist eigentlich "erst" zehn jahre her was das programmieren angeht, so versteh ich von allem ein wenig, vb und java etwas mehr... zumindest kann ich im ansatz erkennen, um was es in einem bestimmten code geht, wenn er sauber programmiert wurde aber wie gesagt einem echten C++ programmierer kann ich nur mit staunen zusehen... |
Autor: | [WING] Black Knight [ 28.08.2004, 13:32 ] | ||
Betreff des Beitrags: | |||
Bitte schön, aber ich glaube kaum, dass es unter 2K läuft. BTW, auch Sir Drink a lot und ich sind auf dem Gebiet von VB und C++ nicht besonders bewandert. Aber ich weiß zumindest, dass die Aufgabe, die Du Dir gestellt hast, damit recht einfach gelingt.
|
Autor: | Sena+or [ 29.08.2004, 02:46 ] |
Betreff des Beitrags: | |
dank dir blacky ...warum sollte es nicht gehen, der eingzige unterschied ist doch nur, dass xp ein bischen bunter ist funktioniert bestens, gleich mal testen @sdal hab deinem namen gerade alle ehre gemacht |
Seite 1 von 2 | Alle Zeiten sind UTC+01:00 |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |