Я пишу пакетный файл, я застрял в середине поиска цикла:Найти полный путь конкретного файла с циклом
FOR /R %MapDirectory% %%s IN ("%FullName%") DO SET DesiredMapFilePath=%%s
То, что я хочу сделать, это найти полный путь к файлу заданный его файлом из данного корневого каталога во всех его подкаталогах. Гарантируется, что имеется только один файл с заданным именем.
%MapDirectory%
является корневым путем (е. Г .: %~dp0\some\directory\wanna\start\from
) и %FullName%
является полным именем файла, который я ищу (е. Г .: foo.txt
).
В приведенной выше командной строке не удается найти данный файл, который фактически существует в поддиректории данного корневого пути (%MapDirectory%
).
'for' ('/r') не имеет доступа к файловой системе, если нет маски, поэтому самый простой способ заключается в использовании 'DIR/b' ('/ S') и проанализировать его вывод' for/F' ... – aschipfl
Спасибо aschipfi! Не знал, что/r работает только под шаблоном. – user58569