我需要使用一個字來分隔批處理文件中的一個字符串。批量分割字符串和一個用於分隔符的字
例如,如果我有一個像輸入:
C:\Dir1\Dir2\Dir3\File.c
我想拆呢考慮單詞「方向2」,讓我得到的輸出:
Dir2\Dir3\File.c
注意,處理前無法知道Dir2的父/子目錄數。
我試過for /f
,但它不起作用,因爲它不接受帶有幾個字符但只有單個字符的分隔符。
我需要使用一個字來分隔批處理文件中的一個字符串。批量分割字符串和一個用於分隔符的字
例如,如果我有一個像輸入:
C:\Dir1\Dir2\Dir3\File.c
我想拆呢考慮單詞「方向2」,讓我得到的輸出:
Dir2\Dir3\File.c
注意,處理前無法知道Dir2的父/子目錄數。
我試過for /f
,但它不起作用,因爲它不接受帶有幾個字符但只有單個字符的分隔符。
@ECHO OFF
SETLOCAL
SET string=C:\Dir1\Dir2\Dir3\File.c
SET divider=Dir2
CALL SET after=%%string:*%divider%=%%
CALL SET before=%%string:%divider%%after%=%%
ECHO before=+%before%+
ECHO divider=+%divider%+
ECHO after=+%after%+
GOTO :eof
測試輸出:
before=+C:\Dir1\+
divider=+Dir2+
after=+\Dir3\File.c+
+
只是被列入證明有沒有涉及流浪空間。
試試這個:
set "word=C:\Dir1\Dir2\Dir3\File.c"
set "word=%word:*C:\Dir1\=%"
echo %word%
的
很neet絕招。非常感謝! – Rakha
可能重複(http://stackoverflow.com/questions/14620709/how-to-split-string-without [如何在沒有在批處理文件中循環拆分字符串] -for-loop-in-batch-file) – jeb