Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Создание скрипта подсчета по маске и вывода на экран через msg

Ответить
Настройки темы
CMD/BAT - Создание скрипта подсчета по маске и вывода на экран через msg

Пользователь


Сообщения: 72
Благодарности: 0

Профиль | Отправить PM | Цитировать


Помогите создать скрипт, скажем есть в папке Z:\Printer\08.08.2017 3 типа файлов имена которых начинаются на "34s_1......" ( иногород) , "34s_400139....."( это область) и "34s40000......." (это город) в формате pdf. Как сделать так чтобы скрипт посчитал количество файлов и вывел на экран через команду msg результат подсчитанных файлов? Я так то разобрался как файлы считаются,а вот как вывести на экран через msg не понятно....
@echo off
DIR Z:\Printer\08.08.2017\34s_1*.*.pdf
pause
DIR Z:\Printer\08.08.2017\34s_400139*.*.pdf
pause
DIR Z:\Printer\08.08.2017\34s_400000*.*.pdf
pause

Отправлено: 11:01, 08-08-2017

 

Пользователь


Сообщения: 72
Благодарности: 0

Профиль | Отправить PM | Цитировать


то есть вывел не общее количество файлов а именно города столько то файлов области столько то и иногорода столько то файлов

Отправлено: 11:19, 08-08-2017 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@echo off
set "d=Z:\Printer\08.08.2017"
set "m1=34s_1*"
set "m2=34s_400139*"
set "m3=34s_400000*"
set "fe=.pdf"
<nul set /p=иногород=
dir /a-d/b "%d%\%m1%%fe%"|find /c /v ""
<nul set /p=область=
dir /a-d/b "%d%\%m2%%fe%"|find /c /v ""
<nul set /p=город=
dir /a-d/b "%d%\%m3%%fe%"|find /c /v ""
pause>nul
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:33, 08-08-2017 | #3


Пользователь


Сообщения: 72
Благодарности: 0

Профиль | Отправить PM | Цитировать


Работает, а вот если через msg? реально так?

Отправлено: 11:42, 08-08-2017 | #4


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


Покрасивше:
Код: Выделить весь код
@echo off
setlocal enabledelayedexpansion
set "d=Z:\Printer\08.08.2017"
set "m1=иногород=34s_1*"
set "m2=область=34s_400139*"
set "m3=город=34s_400000*"
set "fe=.pdf"
for /l %%n in (1 1 3) do for /f "tokens=1* delims==" %%a in ("!m%%n!") do (
 <nul set /p=%%~a=
 dir /a-d/b "%d%\%%~b%fe%"|find /c /v ""
)
pause>nul
с msg:
Код: Выделить весь код
@echo off
setlocal enabledelayedexpansion
set "d=Z:\Printer\08.08.2017"
set "m1=иногород=34s_1*"
set "m2=область=34s_400139*"
set "m3=город=34s_400000*"
set "fe=.pdf"
for /l %%n in (1 1 3) do for /f "tokens=1* delims==" %%a in ("!m%%n!") do for /f "delims=" %%z in ('dir /a-d/b "%d%\%%~b%fe%"^|find /c /v ""') do msg * %%~a=%%z
pause>nul
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:45, 08-08-2017 | #5


Пользователь


Сообщения: 72
Благодарности: 0

Профиль | Отправить PM | Цитировать


спасибо большое!

а вот если путь каждый день меняется. Можно ли как то автоматизировать в скрипте это? То есть сегодня путь Z:\Printer\08.08.2017 а завтра будет путь Z:\Printer\09.08.2017

Отправлено: 11:57, 08-08-2017 | #6


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


Допустим:
Z:\Printer\09.08.2017 - Z:\Printer\%date%, если всегда равно текущей или нет?
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:10, 08-08-2017 | #7


Пользователь


Сообщения: 72
Благодарности: 0

Профиль | Отправить PM | Цитировать


да да . Точно. Спасибо. Работает

Отправлено: 12:11, 08-08-2017 | #8


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


если в папке "Z:\Printer" только одна единственная папка с датой, будет правильно работать и такой код:
Код: Выделить весь код
@echo off
setlocal enabledelayedexpansion
set "d=Z:\Printer"
set "m1=иногород=34s_1*"
set "m2=область=34s_400139*"
set "m3=город=34s_400000*"
set "fe=.pdf"
for /l %%n in (1 1 3) do for /f "tokens=1* delims==" %%a in ("!m%%n!") do for /f "delims=" %%z in ('dir /a-d/b/s "%d%\%%b%fe%"^|find /c /v ""') do echo %%a=%%z
pause>nul
(поставил echo в вывод, поменяете)
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:14, 08-08-2017 | #9


Пользователь


Сообщения: 72
Благодарности: 0

Профиль | Отправить PM | Цитировать


а можно указать чтоб еще в одной папке искало? то есть еще одну папку добавить для поиска? D:\IVC\Operators\Printer\Повестки\%date% и также по маскам выдавало тоже самое по 2 папкам? только маска будет уже другая 34P_400000*" это город 34P_400139* это область"

нет там не одна папка там много папок с датами

Отправлено: 12:22, 08-08-2017 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Создание скрипта подсчета по маске и вывода на экран через msg

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Создание скрипта по перезапуску краш-приложения vecheria@vk AutoIt 4 23-12-2016 10:44
CMD/BAT - создание txt файлов по маске *_i.ext shadowbat Скриптовые языки администрирования Windows 8 13-01-2015 09:52
CMD/BAT - Организация вывода файла на экран с предварительной проверкой. besgranichni@vk Скриптовые языки администрирования Windows 8 18-12-2014 16:22
CMD/BAT - Батник для парсинга и вывода на экран GromfBaenre@twitter Скриптовые языки администрирования Windows 4 09-12-2014 14:48
Недостаточно системных ресуров для вывода на экран??? Eagle12 Microsoft Windows 95/98/Me (архив) 2 17-05-2004 11:44




 
Переход