开发者

How to add a set path only for that batch file executing?

开发者 https://www.devze.com 2023-03-23 14:21 出处:网络
Basically, I know I can go through my control panel and modify the path variable. But, I\'m wo开发者_开发百科ndering if there is a way to through batch programming have a temporary path included? That

Basically, I know I can go through my control panel and modify the path variable. But, I'm wo开发者_开发百科ndering if there is a way to through batch programming have a temporary path included? That way it is only used during that batch file execution. I don't want to have people go in and modify their path variables just to use my batch file.


Just like any other environment variable, with SET:

SET PATH=%PATH%;c:\whatever\else

If you want to have a little safety check built in first, check to see if the new path exists first:

IF EXIST c:\whatever\else SET PATH=%PATH%;c:\whatever\else

If you want that to be local to that batch file, use setlocal:

setlocal
set PATH=...
set OTHERTHING=...

@REM Rest of your script

Read the docs carefully for setlocal/endlocal , and have a look at the other references on that site - Functions is pretty interesting too and the syntax is tricky.

The Syntax page should get you started with the basics.


There is an important detail:

set PATH="C:\linutils;C:\wingit\bin;%PATH%"

does not work, while

set PATH=C:\linutils;C:\wingit\bin;%PATH%

works. The difference is the quotes!

UPD also see the comment by venimus


That's right, but it doesn't change it permanently, but just for current command prompt.

If you wanna to change it permanently you have to use for example this:

setx ENV_VAR_NAME "DESIRED_PATH" /m

This will change it permanently and yes, you can overwrite it in another batch script.

0

精彩评论

暂无评论...
验证码 换一张
取 消