Search code examples
pathbatch-filecommandcommand-prompt

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


Basically, I know I can go through my control panel and modify the path variable. But, I'm wondering 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.


Solution

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