2010-11-05 25 views
3

使用FOR/F我需要解析的.BAT腳本%PATH%清單,但我並沒有與包含空格的路徑多少運氣。剖析路徑在BAT腳本

for %%a in (%PATH%) do @echo %%a 

上面解析空格(默認),但我需要解析分號。我試圖用這個,但它扔我一個錯誤:

for /f "tokens=* delims=;" %%a in (%PATH%) do @echo %%a 

結果是一條線:「系統無法找到文件C:\ WINDOWS \ SYSTEM32」

我敢肯定,我想的東西很基本的,但任何幫助,將不勝感激。 TY!

回答

9
SET TempPath="%Path:;=";"%" 
FOR %%a IN (%TempPath%) DO echo.%%~a 
+0

完美 - 謝謝! – Skatterbrainz 2010-11-05 16:19:16

2

爲了正確地做到這一點,你需要的東西不是一個簡單的更復雜的。嘗試在批處理文件如下:

@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 
+0

我同意。 +1你先生 – demoncodemonkey 2010-11-05 13:45:49

+0

這將產生相同的結果後由Anders。不過,我跟他一起去了,因爲代碼更加緊湊。 – Skatterbrainz 2010-11-05 16:19:59