※ 引述《jonce007 (汪汪)》之銘言:
: %path%是由分號(;)分開的不定數,
: 如何取出每一個單獨的path來做判斷呢?
如果只是要判斷某個路徑是否在在 PATH 內︰
set file=C:\MyBin\
call :lookup "%file%"
goto :eof
:lookup
echo:%~dp%PATH:1
goto :eof
有找到則印出該路徑,否則為空
: For /F "delims=;" %%a In ("%Path%") Do Echo %%a
: 只能得到第1個
: tokens好像也不能列出每一個?
要用 for 的話,可以把 ; 印成多行
echo:%PATH:;= >> path.txt & echo:% >> path.txt
for /f "delims=" %%a in (path.txt) do echo founded %%a
del path.txt
: 我想判斷原本的path裡有没有 xxx
: 没有的話就 set path=xxx;%path%
: 有的話當然就不要重覆加了。
如果只是 set path,這個環境變數只對該 session 有效,
也許不用太在意路徑有沒有重覆