我需要在.BAT脚本中解析%PATH%列表,但是我对包含空格的路径没有太多好运。
for %%a in (%PATH%) do @echo %%a
以上解析空格(默认),但我需要解析分号。我正在尝试使用它,但它给我一个错误:
for /f "tokens=* delims=;" %%a in (%PATH%) do @echo %%a
结果是一行:“系统找不到文件C:\ Windows \ system32。”
我确信我错过了一些非常基本的东西,但是我们将非常感谢任何帮助。 TY!
答案 0 :(得分:9)
SET TempPath="%Path:;=";"%"
FOR %%a IN (%TempPath%) DO echo.%%~a
答案 1 :(得分:2)
要做到这一点,你需要比简单的FOR更复杂的东西。在批处理文件中尝试以下操作:
@ECHO OFF
SET TEMPPATH=%PATH%
:PARSE_START
IF "%TEMPPATH%"=="" GOTO EXIT
FOR /F "tokens=1* delims=;" %%a in ("%TEMPPATH%") Do ECHO %%a
FOR /F "tokens=1* delims=;" %%a in ("%TEMPPATH%") Do SET TEMPPATH=%%b
GOTO PARSE_START
:EXIT