PDA

Vollständige Version anzeigen : PATH via bat datei modifizieren


m.herrzog
December 19th 04, 06:58 PM
hallo, wie kann ich zu meinen umgebungsvariablen einen pfad hinzufügen?
aufruf per #> path
aber eintragen?

sehe ich das richtig das dieser in der registry in
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Se ssion Manager\Environment
liegt? oder was ist "ControlSet001" ? ich habe das 2 (001,003)

gruß maik

Ralf Breuer
December 19th 04, 08:14 PM
m.herrzog > schrieb:

Hallo Maik,

> wie kann ich zu meinen umgebungsvariablen einen pfad
> hinzufügen? aufruf per #> path
> aber eintragen?

mit reg

> sehe ich das richtig das dieser in der registry in
> HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Se ssion
> Manager\Environment liegt? oder was ist "ControlSet001" ? ich habe
> das 2 (001,003)

richtig ist CurrentControlSet

--
Gruß
Ralf
Ich mag kein TOFU. Siehe http://learn.to/quote
Bei Direkt-Mails NOSPAM entfernen

m.herrzog
December 20th 04, 12:22 AM
>> wie kann ich zu meinen umgebungsvariablen einen pfad
>> hinzufügen? aufruf per #> path
>> aber eintragen?
>
> mit reg
>
>> sehe ich das richtig das dieser in der registry in
>> HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Se ssion
>> Manager\Environment liegt? oder was ist "ControlSet001" ? ich habe
>> das 2 (001,003)

> richtig ist CurrentControlSet

hmm.. CurrentControlSet habe ich nicht und bekomme fehler, muss ich den
anlegen oder wie lautet der schlüssel gesammt?

bsp: reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Session
Manager\Environment /v Path /t REG_EXPAND_SZ /d %SystemDrive%\bin

Fehler: Zu viele Befehlszeilenparameter

gruß maik

m.herrzog
December 20th 04, 12:34 AM
>>> hinzufügen? aufruf per #> path
>>> aber eintragen?
>>
>>
>> mit reg
>>
>>> sehe ich das richtig das dieser in der registry in
>>> HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Se ssion
>>> Manager\Environment liegt? oder was ist "ControlSet001" ? ich habe
>>> das 2 (001,003)
>>
>
>> richtig ist CurrentControlSet
>
>
> hmm.. CurrentControlSet habe ich nicht und bekomme fehler, muss ich
> den anlegen oder wie lautet der schlüssel gesammt?
>
> bsp: reg add
> HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Session
> Manager\Environment /v Path /t REG_EXPAND_SZ /d %SystemDrive%\bin
>
> Fehler: Zu viele Befehlszeilenparameter
>
habs jetzt die "" für den schlüssel :-)
: aber ADD überschreibt ja, wie geht das mit hinzufügen?

gruß maik

Matthias Tacke
December 20th 04, 02:16 AM
m.herrzog wrote:
>> bsp: reg add
>> HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Session
>> Manager\Environment /v Path /t REG_EXPAND_SZ /d %SystemDrive%\bin
>>
>> Fehler: Zu viele Befehlszeilenparameter
>>
> habs jetzt die "" für den schlüssel :-)
> : aber ADD überschreibt ja, wie geht das mit hinzufügen?
>
Erst auslesen, anhängen und zurückschreiben.

::RegAppPath.cmd:::::::::::::::::::::::::::::::::: :::::::::::::::::::
@echo off
setlocal
set "key=hklm\system\currentcontrolset\control\session manager\environment"
set val=PATH
set ApP=YourPath2Append
for /f "tokens=1-2,*" %%A in (
'Reg query "%key%" /v %val%^|findstr /I "%val% REG_"') do (
echo REG ADD "%key%" /v %val% /t %%B /d "%%~C%ApP%" /f
)
::RegAppPath.cmd:::::::::::::::::::::::::::::::::: :::::::::::::::::::

Aber, wenn nur das laufende Environment gemeint ist, reicht:

set path=%path%;neuer_Pfad
oder
set path=neuer_Pfad;%path%

Ansonsten gibt es eine Reihe von Commandlinetools die das können.
Editpath von Bill Stewart, http://home.comcast.net/~stewartb/
setx und Pathman beide im MS Resourcekit.
Xset Shareware http://xset.tripod.com
Conset von Frank P. Westlake http://gearbox.maem.umr.edu/fwu/

HTH

--
Gruesse Greetings Saludos Saluti Salutations
Matthias
---------+---------+---------+---------+---------+---------+---------+

m.herrzog
December 20th 04, 08:48 AM
>>> bsp: reg add
>>> HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Session
>>> Manager\Environment /v Path /t REG_EXPAND_SZ /d %SystemDrive%\bin
>>> Fehler: Zu viele Befehlszeilenparameter

>> habs jetzt die "" für den schlüssel :-)
>> : aber ADD überschreibt ja, wie geht das mit hinzufügen?
>>
> Erst auslesen, anhängen und zurückschreiben.
> ::RegAppPath.cmd:::::::::::::::::::::::::::::::::: :::::::::::::::::::
> @echo off
> setlocal
> set "key=hklm\system\currentcontrolset\control\session manager\environment"
> set val=PATH
> set ApP=YourPath2Append
> for /f "tokens=1-2,*" %%A in (
> 'Reg query "%key%" /v %val%^|findstr /I "%val% REG_"') do (
> echo REG ADD "%key%" /v %val% /t %%B /d "%%~C%ApP%" /f
> )
> ::RegAppPath.cmd:::::::::::::::::::::::::::::::::: :::::::::::::::::::
> Aber, wenn nur das laufende Environment gemeint ist, reicht:
> set path=%path%;neuer_Pfad
> oder
> set path=neuer_Pfad;%path%
>
> Ansonsten gibt es eine Reihe von Commandlinetools die das können.
> Editpath von Bill Stewart, http://home.comcast.net/~stewartb/
> setx und Pathman beide im MS Resourcekit.
> Xset Shareware http://xset.tripod.com
> Conset von Frank P. Westlake http://gearbox.maem.umr.edu/fwu/
> HTH

Danke, und besonders für die links!... die sind genau das wonach ich
schon seit langem suche :-)
und die funktion ist eine gute vorlage zum lernen, hab noch nie
begriffen/gesehen wie man ein if for statment unter dos abarbeitet :-)

bei deinem unteren beispiel habe ich allerdings das problem das mir die
funktion meine %% einträge in echte werte umschreibt. das kann mal
ärgerlich sein... hab so auch schon herrausgefunden

gruß maik

Matthias Tacke
December 20th 04, 02:37 PM
m.herrzog wrote:
>> Aber, wenn nur das laufende Environment gemeint ist, reicht:
>> set path=%path%;neuer_Pfad
>> oder
>> set path=neuer_Pfad;%path%
>>
>
> Danke, und besonders für die links!... die sind genau das wonach ich
> schon seit langem suche :-)
> und die funktion ist eine gute vorlage zum lernen, hab noch nie
> begriffen/gesehen wie man ein if for statment unter dos abarbeitet :-)
>
> bei deinem unteren beispiel habe ich allerdings das problem das mir die
> funktion meine %% einträge in echte werte umschreibt. das kann mal
> ärgerlich sein... hab so auch schon herrausgefunden
>
Hallo maik,
gern geschehen. Wenn du das lokale Environment meinst, dann dürfen da
eigentlich im Path keine nicht expandierten Werte auftauchen!
Das ist ein *beliebter* Fehler beim bearbeiten, das REG_SZ statt
REG_EXPAND_SZ in die Registry eingetragen wird. (Sogar manche Installer
tun das, Abhilfe schafft dann Fixpath - auch von Bill Stewart)

Die Batchdatei hab ich nochmal getestet, die sollte eigentlich so
funktionieren.

--
Gruesse Greetings Saludos Saluti Salutations
Matthias
---------+---------+---------+---------+---------+---------+---------+

Google