aRHangel2013
14-11-2013, 14:17
Доброе время суток!!
Помогите пожалуйста написать 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)"
Помогите объединить функционал прог.
Помогите пожалуйста написать 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)"
Помогите объединить функционал прог.