Цель моего сценария - найти одно имя файла (среди которых есть файлы с таким именем, которые существуют в разных папках) рекурсивно по начальному пути и вывести путь каждого найденного файла, исключая имя и расширение.
Я застрял на этом все утро по какой-то причине.Я создал приведенный ниже код.
@echo off
for /r D:\Workspaces\fwarrener-lglesias\Example\Example\Clients %%x in (EnterpriseSettings.config) do (
echo %%~nxx
echo %%~dpx
)
Из ответов и документации других людей у меня сложилось впечатление, что команды будут выполняться в предложении 'do' только в том случае, если найден файл в скобках.Однако при выполнении и передаче в файл у меня смешное количество ненужных строк, поскольку он выводит каталог, в котором он находится, даже если он не нашел файл.Я смущен этим, так как думал, что весь смысл задания набора заключается в том, что команды at будут выполняться только в том случае, когда он находит имя файла.
D:\Workspaces\fwarrener-lglesias\Example\Example\Clients\Example\
D:\Workspaces\fwarrener-lglesias\Example\Example\Clients\Example\Example\
D:\Workspaces\fwarrener-lglesias\Example\Example\Clients\Example\Example\Config\
D:\Workspaces\fwarrener-lglesias\Example\Example\Clients\Example\Example\Config\Stage\
Может ли кто-нибудь разъяснить мне, какЯ неверно истолковал использование цикла for или синтаксиса?