Я хотел бы найти способ поиска конкретных каталогов на определенном пути или диске и распечатать их в файл для дальнейшего использования.Поиск каталогов в пакетном режиме - сохранить весь путь в файле
Например, в структуре, как:
D:\Dir1\Dir2\Wanteddir
D:\Dir1\Dir3\Wanteddir
D:\Dir1\Dir4\Wanteddir
он должен создать файл «Result.txt» с точно такой же схеме, как описано выше.
Теперь я создал сценарий с нуля и некоторые исследования существующих скриптов. И получил эту работу.
@echo off
setlocal enabledelayedexpansion
set "tmp_result_file=temp.txt"
set "result_file=result.txt"
if exist %tmp_result_file% del %tmp_result_file%
if exist %result_file% del %result_file%
dir d: /s > temp.txt
set /p searchdir=Please enter the directory name:
for /f "tokens=3* delims= " %%i in ('FINDSTR /C:"\%searchdir%" %tmp_result_file%') do echo %%i >> %result_file%
for /f "tokens=1,2,3 delims= " %%a in ('find /C "\%searchdir%" %result_file%') do set "amount=%%c"
echo.
Echo The list of found directories is %amount% lines long and contains following paths.
echo.
type result.txt
Теперь проблема с этим кодом заключается в том, что он «ловит» все каталоги, содержащие введенное слово. В начале имени каталога.
Так что, если я вхожу просто «Wanted» вместо «Wanteddir» сценарий будет искать для всех каталогов, начинается с «Wanted»
Например:
D:\Dir1\Dir2\Wanteddir
D:\Dir1\Dir3\Wanteddir
D:\Dir1\Dir4\Wanteddir
D:\Wanted\Exampledir
D:\Dir1\Wantedtest\Exampledir
etc..
Я был бы признателен любые предложения для этой проблемы. Возможно, вы также можете предложить несколько более надежный метод для поиска, подобного этому. Другая проблема заключается в том, что «delims» - это пространство. Поэтому, если кто-то использует пробел в имени каталога, выход будет также мусором.
thx до сих пор.
Не связанный с вопросом, который вы задаете, но вы предполагаете, что любое имя без расширения всегда является папкой, но это необязательно верно. – dbenham