Я хочу прочитать содержимое файла построчно, а затем в каждой строке я хочу получить только пути.
sample.txt:
\.\docusp\ui\test\java\services\gway->\.\docusp\ui\test\java\pserv\com\controller\services\gway pserver\2 (5660\1) (backed) (elink)
\.\docusp\ui\test\java\pserv\services\run->\.\docusp\ui\test\java\pserv\com\controller\services\rip pserver\1 (376\1) (backed) (elink)
Вывод:
path: \.\docusp\ui\test\java\services\gway
target: \.\docusp\ui\test\java\pserv\com\controller\services\gway
path: \.\docusp\ui\test\java\pserv\services\run
target:\.\docusp\ui\test\java\pserv\com\controller\services\rip
test.bat:
@echo off
for /f "delims=" %%a in (C:\sample.txt) DO (
ECHO Line is: %%a
set line=%%a
for /f "tokens=1,2 delims=->" %%a in ("%line%") do (
echo %%a
echo %%b
set path=%%a
set target=%%b
REM target contains the substring after ->. Want to remove "pserver\2 (5660\1) (backed) (elink)" string
)
)
В каждой строке указана цель,
\.\docusp\ui\test\java\pserv\com\controller\services\rip pserver\1 (376\1) (backed) (elink)
Необходимо удалить pserver\1 (376\1) (backed) (elink)
, и цель должна содержать только \.\docusp\ui\test\java\pserv\com\controller\services\rip
.
Примечание: путь цели может содержать пробел между ними. на основе пробела и получить подстроку не получится.
Любая помощь приветствуется.