我想找到一種方法來搜索特定路徑或驅動器中的特定目錄,並將它們打印到文件以供進一步使用。批量搜索目錄 - 將整個路徑存儲在一個文件中
例如,在一個結構,如:
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
現在有了這個代碼的問題是,它「捕獲」,其中包含輸入的單詞的所有目錄。在目錄名稱的開頭。
所以,如果我只輸入「通緝令」,而不是「Wanteddir」的劇本會搜索所有與「通緝令」
例如開頭的目錄:
D:\Dir1\Dir2\Wanteddir
D:\Dir1\Dir3\Wanteddir
D:\Dir1\Dir4\Wanteddir
D:\Wanted\Exampledir
D:\Dir1\Wantedtest\Exampledir
etc..
我將不勝感激任何建議對於這個問題。 也許你也可以建議一些更可靠的方法來做這樣的搜索。 另一個問題是,「界限」是一個空間。所以如果有人在目錄名稱中使用空格,輸出也會有些垃圾。
thx到目前爲止。
與您所問的問題無關,但您認爲沒有擴展名的任何名稱始終是一個文件夾,但這不一定是正確的。 – dbenham