Кажется, вы не правильно понимаете, что читаете, когда проводите исследование.Как пример.
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, и я обещаю вам, вы будете удивлены, увидев, что вы можете извлечь из этого.