Fix a problem with an ampersand character in path

If the path variable contained values with an ampersand character (such as in the case of MySQL), the string splits by this character, and tries to execute what follows as a separate command. 
All occurrences of the set command containing %PATH% should be wrapped in quotation marks
This commit is contained in:
Andrey Luzhin 2021-10-29 09:13:35 +02:00 committed by GitHub
parent 93715461e6
commit 4c85e8b2f1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -74,7 +74,7 @@ exit /b
set "find_query=%add_to_path%"
set "find_query=%find_query:\=\\%"
set "find_query=%find_query: =\ %"
set OLD_PATH=%PATH%
set "OLD_PATH=%PATH%"
setlocal enabledelayedexpansion
if "!found!" == "0" (
@ -121,8 +121,8 @@ exit /b
exit /b
:toolong
echo %OLD_PATH%>tempfileA
echo %PATH%>tempfileB
echo "%OLD_PATH%">tempfileA
echo "%PATH%">tempfileB
fc /b tempfileA tempfileB 2>nul 1>nul
if errorlevel 1 ( del tempfileA & del tempfileB & goto :changed )
del tempfileA & del tempfileB