我想遍歷一個CSV文件並在兩列中創建一個完整路徑變量 - 並且只有一個特定列的值爲「文件夾」。批處理文件 - 通過csv循環並從兩列創建路徑變量
這實際上現在正常工作,但不工作的部分是創建路徑變量。
兩點:
兩個欄我看是最深的文件夾和文件夾的根aboth。像這樣: first/first1/+ second = first/first1/second
因此,最深處的文件夾將會被填滿,我可以把它當作它來使用。
上面的文件夾將被填充,或者它將成爲列中的0。 同樣的字符串將有一個 「/」,我不得不削減並用反斜槓代替..
這裏是我的代碼:
For /F "tokens=1-7 delims=;" %%a in (L:/Mappe1.csv) Do (
if "%%b"=="Folder" (
set folder=%%c
if NOT %%f==0 (
set rootFolder ==f
rem check for slash..
if %rootFolder=~-1%==/ (
rem cut it out
SET rootFolder=%rootFolder:~0,-1%
)
rem both variables set
set finalPath=%rootFolder%%folder%
) else (
rem just the folder
set finalpath=%folder%
)
echo %finalpath%
)
)
SAMPE的CSV的:
ID; PROGID; NAME; PARENTID; PARENT_FOLDER;路徑; ISNTANCE; DESC;訂購; 23; Folder; Stammordner; 4; 4; PRODUKTION /; 0 ;;;
什麼是不工作:
現在我得到的「回聲是關閉」輸出,每次我跑。我認爲最後的路線沒有設定,但我不明白。
也是我不知道如果我這樣做的方式,它是常見的方式 - 我這麼多的新批次 - 即使我是一個開發其在某種程度上對我來說很複雜..
Regards
如果您提供了'csv'文件和'描述任務'的樣本,那麼我們可能會找到一個更直接的方法來做到這一點。 – foxidrive
嘿,謝謝你的回答..我以爲我有一個語法錯誤,這就是爲什麼我沒有提供一個樣本。我編輯的主要職務有樣品和for循環,我用 – Martin
你的代碼有錯誤:此刻的你正在檢查的第六令牌,如果它不爲「0」,你是「token6/token2」,否則設置變量將變量單獨設置爲「token2」。是嗎?文件夾分隔符是/還是\? – foxidrive