18479
Goto Top

Batch - SET PATH

bin grad zu blöd das hinzubekommen.

Hi,

also ich will die umgebungsvariabel Path um einen Eintrag erweitern. Stelle mich aber grade zu blöd an.

Das ganze soll aus einer .bat heraus gemacht werden und Teil eines Installationsbatchfile sein.

Dacht bisher, dass es mit set path = D:\Test geht.

Tut es aber nicht.

So da ich mit Batch nicht viel mache wird es für andere wohl eher einfach sein, mir zu sagen wie das richtig heißen muss oder?

Achso das ganze muss unter XP und Win2000 funktioniern und auf PCs mit unterschiedlichen OS-Sprachen.


ThX schonmal für Eure Hilfe

So long

greetz Cine

Content-Key: 17554

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

Printed on: April 16, 2024 at 16:04 o'clock

Member: Biber
Biber Oct 11, 2005 at 15:02:00 (UTC)
Goto Top
Moin CinemaStrange,

mach Dir nichts draus, an der Stelle tun sich auch einige "ganz große" Installationsprogramme schwer und zerschießen den Pfad ( IBM mit DB2; Oracle Client 10..)

Also: Deinen neuen Pfad anfügen im Batch:
...
set "MeinNeuerPfad=c:\Beispiel\Pfad"  
Set "path=%path%;%MeinNeuerPfad%"  
...

Wenn es alle so machen würden (ein Semikolon plus den neuen Pfad dranhängen), dann wäre die Welt in Ordnung. Leider vergessen einige das ";" . Die stehen dann selbst nicht im Pfad und haben auch noch den Vorgänger-Pfadeintrag unbrauchbar gemacht.
Aber Namen werde ich jetzt nicht nennen *gg

Ausnahmevariante (nur in begründeten Fällen!)
Den neuen Pfad an den Anfang der Suchliste stellen:
...
set "MeinNeuerPfad=c:\Beispiel\Pfad"  
Set "path=%MeinNeuerPfad%;%path%"  
...

HTH
Biber aus Bremen

[Edit] Du kannst es natürlich auch ohne den Umweg über Variable machen, also:
Set "path=%path%;D:\Test" ... oder sogar nur
set path=%path%;D:\test

...aber lesbarer finde ich ich es MIT Variable. Denn die definierst Du immer nur an einer Stelle - feste Strings wie Deinen "D:\Test" hast Du u.U. mehrfach in einer *bat-Datei und das ist immer fehlerträchtig. [/Edit]
Member: cookie
cookie Oct 11, 2005 at 15:50:41 (UTC)
Goto Top
Hallo Cine.

Es muss richtigerweise set path=D:\test heissen.

Gruss Jan
Member: Biber
Biber Oct 11, 2005 at 16:00:33 (UTC)
Goto Top
@cookie
>also ich will die umgebungsvariabel Path um einen Eintrag erweitern

Mit Deiner Variante überschreibst Du den bisherigen Path-Inhalt, setzt die Variable neu.

Und das ist gerade beim Such-Pfad etwas heikel.
Member: cookie
cookie Oct 11, 2005 at 16:10:45 (UTC)
Goto Top
sorry, demfall probier es mal so
set path=%path%;D:\test

mit der variable %path% liest du den bisherigen Pfad ein und mit einem seimikolon getrennt kannst du ihn erweitern

Gruss
Mitglied: 18479
18479 Oct 12, 2005 at 08:13:01 (UTC)
Goto Top
Thx soweit erst einmal und Grüße in die alte Heimat nach Bremen ~wink~.

Oki also wenn ich das so schreibe wie cookie das sagt, und mir das ganze gleich noch mal anzeigen lasse, dann steht es hinten drann. Fein, fein so. Aber wenn ich dann unter Arbeitsplatz Eigenschaften usw. nachgucke sthet nichts dran.
Kapiert Windows das net oder muss man dann einen Neustart machen?
Meine überraschen tut mich da garnichts mehr ~g~.
Member: Biber
Biber Oct 12, 2005 at 09:06:41 (UTC)
Goto Top
@18479
*winks zurück...face-wink

Wozu willst Du das unter Arbeitsplatz->Erweitert->Umgebungsvariablen denn sehen?
Reicht doch, wenn der Pfad in Deinem Batch, in der CMD-Prompt-Session gesetzt wird und dann verfügbar ist.

Wenn Du ihn tatsächlich grundsätzlich setzen willst (was dann auch wieder beinhaltet EINMALIG setzen) , dann kannst Du das ohne Batch machen. Direkt in der Umgebungsvariablen (Uservariablen) "Path" in dem o.g. Klicki-Bunti-Fenster.

Ginge natürlich auch per Batch mit dem ResKit-Utility Pathman.exe. Aber lass als Anfänger die Finger davon. Bringt an der Stelle nichts, das dauerhaft über einen Batch zu setzen, denn es muss ja nur ein einziges Mal im Leben gesetzt werden.

Dritte Variante: Du kannst auch , wenn Du den Pfad nicht für alle Windows-Applikationen brauchst, aber in allen CMD-Prompt-Fenstern, einen Standard-Batch "vorschalten", der automatisch beim Öffnen eines CMD-Fensters ausgeführt wird.
Aber dazu musst Du wieder in der Registry rumalbern - lohnt auch nicht an der Stelle. (Bei Bedarf bitte melden natürlich, aber macht hier keinen Sinn IMHO.)

HTH Frank / der Biber aus Bremen
Mitglied: 18479
18479 Oct 12, 2005 at 09:15:56 (UTC)
Goto Top
Aha, naja ich will es auch nicht ~g~ ich muss mich mit batch auseinandersetzten. Anordnung vom Cheffe. Naja es soll schon für immer gesetzt werden weil ich mit Hilfe des Batches eine Installationen anschubse, dass zwei Setupfiles ausführt. Das zweite Proggie braucht, als Angabe in der Umgebungsvariablen Path fest und für immer die Info wo die exe vom ersten gefunden werden kann, weil das zweite Proggie auf das erste aufsetzt. Sprich ich brauche den Pfad fest und für immer wie kann man das den machen?

Naja sagen wir so bin Batchanfänger. Anderes Sprachen progge isch schon länger ~smile~
Member: Biber
Biber Oct 12, 2005 at 09:45:44 (UTC)
Goto Top
Also - bei dieser Konstellation:
- in ersten (Installations-)Batch den Pfad dauerhaft erweitern mit dem ResKit-Utilitiy "Pathman.exe"
[pathzumReskit\]PathMan.exe /au d:\test

Fertig.

Biber
P.S. ich meinte natürlich auch nur Batch-Anfänger face-wink
Mitglied: 18479
18479 Oct 12, 2005 at 11:29:26 (UTC)
Goto Top
Juhu nu klappt es thx...
Member: Biber
Biber Oct 12, 2005 at 12:05:10 (UTC)
Goto Top
Tja, Cine,
hättest Du gestern gleich genauer beschrieben, wo Dein spezielles Problem liegt, hätten wir schon einen Tag eher fertig sein können face-wink

Dadurch hast Du wieder den Schnitt der durchschnittlichen Lösungszeit dramatisch gesenkt *strafend mit dem Finger zeich

Freue mich aber mit, dass es nun läuft.
Mitglied: 18479
18479 Oct 12, 2005 at 14:52:17 (UTC)
Goto Top
Woher soll man denn auch wissen, dass es wieder 95000 verschiedene Möglichkeiten gibt um das selbe zu machen ;)

Wenn man zu mir sagt geh Essen, dann gehe ich ja auch net erst Kanalmail verschicken ~gg~
Obwohl es ab und zu gut währe es vorher zu tun ~schmunzel~