Найти абсолютный путь к каталогу, если указан путь для начала поиска (в пакетном файле) - PullRequest
0 голосов
/ 24 декабря 2009

Пользователь даст мне абсолютный путь - скажем, "C: \ src" (передается в% 1 в пакетном файле). Затем мне нужно найти каталог под названием «SQLScripts», который находится в некоторой подпапке «C: \ src».

Как найти абсолютный путь к каталогу «SQLScripts»? Кроме того, я не беспокоюсь о существовании нескольких экземпляров каталога SQLScripts.

Из моего Google, решение может включать цикл for и некоторый пакетный модификатор, такой как% ~ $ PATH: 1. Эта ссылка может быть полезной - Специальные символы пакета .

Все решения должны работать на Windows XP и выше.
Обратите внимание, что я ограничен использованием командного файла и не могу использовать другие «более простые» методы, такие как простой фрагмент кода Python, для решения моей проблемы.

Спасибо!

1 Ответ

1 голос
/ 24 декабря 2009

Этот код сохраняет путь к сценариям SQLScripts в переменную % SQLSCRIPTSPATH% и работает на WinXP:

DIR SQLScripts /B /P /S>tmp.txt
for /f "delims=" %%a in (tmp.txt) do set SQLSCRIPTSPATH=%%a
del tmp.txt

EDIT:

Лучшее решение (без использования временного файла), предложенное Джо :

for /f "tokens=*" %%i in ('DIR SqlScripts /B /P /S') do SET SQLSCRIPTSPATH=%%i
...