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

aRHangel2013 14-11-2013 14:17 2254425

Выборка файлов на сетевом диске с дальнейшей их печатью
 
Доброе время суток!!
Помогите пожалуйста написать BAT файл который в сетевой папке ищет файлы с определенным текстом, а потом их печатает. Файлы появляются в той папке в течении всего рабочего дня т.е. нужно через какое нибудь время перепроверять папку на наличие новых файлов.
Сегодня мои ненасытные юзеры хотят еще и выборочно печатать доки.
У меня есть сегодняшняя прога и на просторах интернета нашел прогу, которая реализет выборку файлов, но я не могу их объединить.

Текст который нужно искать (в них есть пробел)
ABC 101
ABC 202
etc

прога 1 - печатает все новые файлы в папке
читать дальше »
Код:

@echo Off
cls

set $dd=%DATE:~0,2%
set $mm=%DATE:~3,2%
set $yyyy=%DATE:~6,4%
set Share="y:\"%$yyyy%"\"%$mm%"\"%$dd%"\ToPrint\*.prt-*"

Set Index=%~n0.EXCLUDE

if Not Exist %Index% Echo %Index% >%Index%

Call :Printer %Share%

GoTo:Eof
:Printer

FOR /F "usebackq delims=" %%i IN (`xcopy /L /S /EXCLUDE:%Index% %1 "%Tmp%\" 2^>nul^`) DO (
        If  Exist  "%%i" (
                notepad /P "%%i"
                echo %%i >>%Index%
        )
)



прога 2 - ищет определенное слово или слова и кудато их перелаживает
читать дальше »
Код:

for /f "usebackq delims=" %i in (`findstr.exe /m /i /c:"ABC 101" "%Share%"`) do @move "%i" "c:\2\"


я предпологаю что искомые слова можно указать так ну и указать в проге 2:
читать дальше »
Код:

set "words=(ABC 101|ABC 202|ABC 333)"

Помогите объединить функционал прог.

Molchune 15-11-2013 08:34 2254970

Ну вот как то так
читать дальше »
Код:

@echo Off
cls
 
set $dd=%DATE:~0,2%
set $mm=%DATE:~3,2%
set $yyyy=%DATE:~6,4%
set Share="y:\"%$yyyy%"\"%$mm%"\"%$dd%"\ToPrint\*.prt-*"
set Worlds="ABC.101 ABC.200"
 
Set Index=%~n0.EXCLUDE
 
if Not Exist %Index% Echo %Index% >%Index%
 
Call :Printer %Share%
 
GoTo:Eof
:Printer
 
FOR /F "usebackq delims=" %%i IN (`xcopy /L /S /EXCLUDE:%Index% %1 "%Tmp%\" 2^>nul^`) DO (
    If  Exist  "%%i" (
        for /f "usebackq delims=" %%a in (`findstr.exe /m /i %Worlds% %%i`)  do  (
            REM  для печати echo %%a заменить на notepad /P "%%a"
            echo %%a
            echo %%a >>%Index%
            )
    )
)


для печати echo %%a заменить на notepad /P "%%a" (1 раз)

aRHangel2013 15-11-2013 11:54 2255101

Спасибо!!!


Время: 14:03.

Время: 14:03.
© OSzone.net 2001-