У меня есть текстовый файл с именем paths.txt Он содержит следующие данные,Почему для/f подтягивает имя файла?
LocalName RemotePath
N: \ DANIEL-HP \ Users \ Public
Z: \ DANIEL-HP \ Users \ Общественные \ Favorites
LocalName RemotePath
N: \ DANIEL-HP \ Users \ Public
Z: \ DANIEL-HP \ Users \ Public \ Favorites
Я запускаю следующий командный файл, чтобы извлечь нужную букву пути, путь.
@echo off
for /f "tokens=1 delims=" %%a in ('find ":" paths.txt') do (
echo %%a
)
pause
Результат
---------- PATHS.TXT
N: \\DANIEL-HP\Users\Public
Z: \\DANIEL-HP\Users\Public\Favorites
N: \\DANIEL-HP\Users\Public
Z: \\DANIEL-HP\Users\Public\Favorites
Press any key to continue . . .
То, как я могу это исправить, я модифицировать ДЛЯ, как показано ниже,
for /f "skip=2 tokens=1 delims=" %%a in ('find ":" paths.txt') do (echo %%a)
И я получаю чистый желаемый результат,
N: \\DANIEL-HP\Users\Public
Z: \\DANIEL-HP\Users\Public\Favorites
N: \\DANIEL-HP\Users\Public
Z: \\DANIEL-HP\Users\Public\Favorites
Press any key to continue . . .
Вопрос в том, что не так с моей первой функцией FOR, что она разрешает прохождение файла.
находка ":"
DannyBoi
@dbenham .... Все предлагаемые вами решения отлично работают вне цикла ** for **, но в скобках '()' цикла for, они не. Pls советует синтаксис. – DannyBoi
@DannyBoi Специальные символы должны быть экранированы, см. Edit – jeb