Eu quero executar um arquivo .bat uma vez e adicionar vários valores à minha variável de ambiente do caminho. Eu estou tendo todos os tipos de problemas com isso. Bem, primeiro, quero que esse arquivo verifique se alguma entrada já está no caminho e adicione somente se ela não estiver lá. Segundo, alguns caminhos têm espaços neles e não consigo fazer isso funcionar, este é meu arquivo atual:
@echo off
setlocal EnableDelayedExpansion
set list= "d:\Dropbox\Apps\Web\php\"
set list=%list%;"d:\Dropbox\Apps\Web\php\ext"
set list=%list%;"d:\Dropbox\Apps\Web\php\imagick"
set list=%list%;"d:\Dropbox\Apps\Web\node.js"
set list=%list%;"d:\Dropbox\Apps\Web\PortableGit\cmd"
set list=%list%;"d:\Dropbox\Apps\Web\python"
set list=%list%;"d:\Dropbox\Apps\[ Tools \]zip"
set list=%list%;"d:\Dropbox\Apps\[ Tools \]\youtube-dl"
set list=%list%;"d:\Dropbox\Apps\[ Tools \]\y33be-dl"
:: iterate over the paths list
for %%a in (%list%) do (
echo %%a
Echo.!PATH! | findstr /c:%%a>nul && (
Echo.TRUE
) || (
Echo.FALSE
setx PATH /m "%PATH%;%%a"
)
)
@echo on
Alguma idéia de como fazer isso funcionar?
Tags command-line path