It appears to be common to split on ; and your program is no exception.
It doesn't appear to handle quoted path names, which are valid, both the "pa;th" and "pa th"\"of space" variety
- shell commands (copy paste into cmd.exe):
md "pa;th"
echo @echo how the pa;th are ya > "pa;th"\pathme.bat
pathme
set path="pa;th";%path%
pathme
md "pa;th"\"of space"
echo @echo how the pa;th\of space are ya > "pa;th\of space"\pathem.ba
+t
pathem
set path="pa;th"\"of space";%path%
pathem
- Output:
C:\>md "pa;th"
C:\>echo @echo how the pa;th are ya > "pa;th"\pathme.bat
C:\>pathme
'pathme' is not recognized as an internal or external command,
operable program or batch file.
C:\>set path="pa;th";%path%
C:\>pathme
how the pa;th are ya
C:\>md "pa;th"\"of space"
C:\>echo @echo how the pa;th\of space are ya > "pa;th\of space"\pathe
+m.bat
C:\>pathem
'pathem' is not recognized as an internal or external command,
operable program or batch file.
C:\>set path="pa;th"\"of space";%path%
C:\>pathem
how the pa;th\of space are ya
C:\>