Вопрос по string – Получить имя файла из строки-пути?

25

Как мне получить имя файла из этой строки?

"C:\Documents and Settings\Usuario\Escritorio\hello\test.txt"

выход:

"test.txt"

Я действительно пытался найти это перед публикацией, но все результаты были заражены, они говорят о получении имен файлов из текущего каталога (я должен работать только со строками)

Смотрите мой новый ответ Marc
@ Марк, эта строка создается с помощью цикла, я думаю, что доступ к 200-300 директорам не является разумным. Я действительно должен работать только на струнах, но спасибо за альтернативу ajax333221
cd в этот каталог и введитеdir /b Marc

Ваш Ответ

3   ответа
5

c: \ temp & quot; Дерево каталогов (включая подкаталоги):

FOR /R c:\temp %i in (*.*) do echo %~nxi
9

% ~ nx1 (1 для первого параметра, и мы предполагаем, что это первый параметр)

echo% ~ nx1 будет возвращать непосредственно test.txt

Error: User Rate Limit Exceeded
53

Method 1

for %%F in ("C:\Documents and Settings\Usuario\Escritorio\hello\test.txt") do echo %%~nxF

ТипHELP FOR для получения дополнительной информации.

Method 2

call :sub "C:\Documents and Settings\Usuario\Escritorio\hello\test.txt"
exit /b

:sub
echo %~nx1
exit /b

ТипHELP CALL для получения дополнительной информации.

спасибо, я нашел больше деталей здесьmicrosoft.com/resources/documentation/windows/xp/all/proddocs/…
пожалуйста, не могли бы вы объяснить & quot;% ~ nx1 & quot ;?
@ Yukul & # xE9; л & # xE9; - Это изменяет расширение%1, обрабатывая его как путь к файлу и расширяя его до имени и расширения, игнорируя диск и путь. ТипHELP CALL или жеCALL /? из командной строки для получения дополнительной информации обо всех модификаторах расширения параметров.

Похожие вопросы