Как узнать название папки, в которой находится jpg? - PullRequest
0 голосов
/ 19 мая 2018

Мне нужен код для поиска файлов jpg и получения списка имен каталогов, в которых существуют файлы.Я написал код, который находит все папки, мой код

For /r %%i in (.) do ( echo %%~nf >>list1.txt
)
For /f "tokens=*" %%i in (list1.txt) do ( echo %%~nxi >>list2.txt
)

И он сохраняет список всех подпапок, но я хочу получить имя папки, в которой существует файл.

1 Ответ

0 голосов
/ 19 мая 2018

Кажется, вы не правильно понимаете, что читаете, когда проводите исследование.Как пример.

For /r %%i in (.) do ( echo %%~nf >>list1.txt

говорит мне, что вы видели это %%~nf где-нибудь, но пытались ли вы прочитать, что он делает?Вы задаете переменную %%i, но вы пытаетесь использовать %%f, и вы хотите путь (%%~p), но используете имя (%%~n).Если бы вы на самом деле запустили справку из cmd for /?, у вас были бы отличные советы.

This:

For /r %%i in (*.jpg) do echo "%%~dpi" >>list1.txt

Дал бы диск и путь к файлу, где это:

For /r %%i in (*.jpg) do echo "%%~pi" >>list1.txt

даст только путь, а вот это:

For /r %%i in (*.jpg) do echo "%%~nxi" >>list1.txt

даст имя и расширение файла, и, наконец, это:

For /r %%i in (*.jgp) do echo "%%~ni" >>list1.txt

выдаст толькоимя файла без расширения.

Поэтому я призываю вас запустить справочные ключи для ваших команд через cmd, и я обещаю вам, вы будете удивлены, увидев, что вы можете извлечь из этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...