Компьютерный форум 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=276948)

ruslaw 02-02-2014 16:32 2301244

Пакетный поиск
 
Имеется главная папка (напр. - "D:\myFolder\") с различными файлами и субпапками разной степени вложения.
Имеется список ФРАГМЕНТОВ имен файлов.
Как сделать bat(vbs/js)-файл который создавал бы отчет в виде csv-файла где первой строкой шел бы этот список, а второй список полных имен (полных адресов) этих файлов, напр.:

политической; D:\myFolder\folderK\Начала политической экономии.pdf; D:\myFolder\folderM\"Элементы политической экономии.pdf

Введение; D:\myFolder\folderW\Введение в специальность.pdf; D:\myFolder\folderX\Введение в анализ.djvu
....................................
Т.е. речь идет о пакетном поиске с отчетом.
Используется кириллица. Регистр не важен.

Iska 02-02-2014 17:53 2301310

ruslaw, может быть всё-таки «первым элементом строки» и «последующими элементами строки», а не «первой» и «второй» строкой?

Попробуйте так:
Код:

@echo off
setlocal enableextensions enabledelayedexpansion

set sRootFolder=E:\Песочница
set aFragments="введение" "005" "qww" "qwerty" "zxasqw"

>"Out.csv" (for %%i in (%aFragments%) do (
        <nul set /p "sVar=%%~i"
       
        for /f "usebackq delims=" %%j in (
                `2^>nul dir /b /s /a:-d "%sRootFolder%\*%%~i*.*"`
        ) do (
                <nul set /p "sVar=;"%%~j""
        )
        echo.
))

endlocal
exit /b 0


ruslaw 02-02-2014 23:12 2301529

Отлично! Все работает.
Спасибо огромное!!!


Время: 15:53.

Время: 15:53.
© OSzone.net 2001-