Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Создать список путей (http://forum.oszone.net/showthread.php?t=184802)

gen0m.rsw 07-09-2010 00:28 1489984

Создать список путей
 
Всем участникам форума респект!
Такой вот вопрос!
Нужно найти на диске С: файлы
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 1489996

gen0m.rsw,
Код:

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

gen0m.rsw 07-09-2010 02:37 1490036

El Sanchez
Чуть-чуть не до понял!
Дело в том что файлы определенных имен и расширений!!!

gora 07-09-2010 08:49 1490096

Код:

@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 1490217

Если файлы без пробелов внутри, то можно так:

Код:

dir C:\*.* /a-d /b /on /s | findstr "\file1 \file2 \file3"
* искомые файлы предваряем слешем, чтобы утилита не выдала, к примеру, файл "autofit.dat" на запрос "tofit.dat"

El Sanchez 07-09-2010 13:33 1490284

Цитата:

Цитата gen0m.rsw
Дело в том что файлы определенных имен и расширений!!! »

Понятно. Тогда так:
Код:

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

Цитата NiOl
Если файлы без пробелов внутри »

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 1490453

Прямолинейный, но удобочитаемый вариант
Код:

@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 1490769

El Sanchez
NiOl
megaloman


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


Время: 00:05.

Время: 00:05.
© OSzone.net 2001-