Войти

Показать полную графическую версию : [решено] Создать список путей


gen0m.rsw
07-09-2010, 00:28
Всем участникам форума респект!
Такой вот вопрос!
Нужно найти на диске С: файлы
File_1.EXT
File_2.EXT
File_3.EXT
................ и.т.д
И записать пути их расположения в файл LIST.TXT
Типа такого

C:\Documents and Settings\All Users\Application Data\File_1.EXT
C:\WINDOWS\File_2.EXT
C:\WINDOWS\system32\File_3.EXT
................ и.т.д

Или если кто знает может прога спеЦИальная есть?

El Sanchez
07-09-2010, 01:04
gen0m.rsw,

Dir /B /S C:\*.EXT>>LIST.TXT

gen0m.rsw
07-09-2010, 02:37
El Sanchez
Чуть-чуть не до понял!
Дело в том что файлы определенных имен и расширений!!!

gora
07-09-2010, 08:49
@Echo Off
Set src=c:\

(For %%i In (
File_1.EXT
File_2.EXT
File_3.EXT
) Do For /R "%src%" %%a In (%%i) Do If Exist "%%a" Echo %%a
)>LIST.TXT

NiOl
07-09-2010, 12:24
Если файлы без пробелов внутри, то можно так:

dir C:\*.* /a-d /b /on /s | findstr "\file1 \file2 \file3"

* искомые файлы предваряем слешем, чтобы утилита не выдала, к примеру, файл "autofit.dat" на запрос "tofit.dat"

El Sanchez
07-09-2010, 13:33
Дело в том что файлы определенных имен и расширений!!! »
Понятно. Тогда так:

Dir /B /S "C:\File_1.EXT" "C:\File_2.EXT" "C:\File_3.EXT">LIST.TXT


Если файлы без пробелов внутри »
NiOl, учитывать нужно все варианты, и с пробелами, и без. Поэтому вариант от gora может выглядеть вот так:

@Echo Off
Set src=c:\

(For %%i In (
"File_1.EXT"
"File_2.EXT"
"File_3.EXT"
) Do For /R "%src%" %%a In (%%i) Do If Exist "%%~dpa%%~i" Echo %%~dpa%%~i
)>LIST.TXT

megaloman
07-09-2010, 19:05
Прямолинейный, но удобочитаемый вариант
@Echo Off

Set Log=D:\file.log
del "%Log%"

Call :FindF "C:\" "Subst.exe"
Call :FindF "C:\" "Append.exe"
Call :FindF "C:\" "Attrib.exe"

GoTo :Eof

:FindF
FOR /F "usebackq delims=" %%i IN (`Dir "%~1%~2" /s /b`) DO echo %%i >>"%Log%"

gen0m.rsw
08-09-2010, 02:55
El Sanchez
NiOl
megaloman

Всё окей!
Респект.




© OSzone.net 2001-2012