PDA

Показать полную графическую версию : [решено] BAT/CMD для принтера озвучиваниея действия (Печать началась или Печать завершена)


Страниц : [1] 2

DJIOAN
02-12-2014, 09:17
Доброго дня суток. Знающие люди, подскажите пожалуйста! У меня появилась задумка - сделать пакетный файл или через командную строку, как вариант сделать скриптом (VBS).
Задумка заключается в следующем:
Сделать файл чтоб отслеживал файлы при появлении в папке spool\printers\*.* и при его появлении срабатывала команда Воспроизведеие звука (стандартными либо дополнительными средствами) и говарил К примеру "Печать началась" а при удалении файла после печати проговаривал "Печать завершена" Признаюсь честно как первую команду я приблизительно знаю, ну а вот какую команду писать при исчезновении файла незнаю. И всю эту схему зациклить через команду :LOOP.
Вот нашел небольшой пример (не про ппечать но его можно доделать и переработать

@echo off
chcp 1251
cd D:\balabolka_console
balabolka_console.exe -n "Nicolai 16Khz" -t "Собираю информацию" -s 65 -p 24 -e 15 -a 100
systeminfo » 2.txt
chcp 1251
cd D:\balabolka_console
balabolka_console.exe -n "Nicolai 16Khz" -t "Информация собрана" -s 65 -p 24 -e 15 -a 100
exit

только вместо Всего пути БАЛАБОЛКИ использовать к примеру стандартные средства
там где EXIT заменить на LOOP и зациклить
Я еще выложе пару вариантов

Iska
02-12-2014, 10:42
DJIOAN, появление файла не означает начала печати, а лишь начало постановки в очередь. Впрочем…

На WSH:
Option Explicit

Dim strComputer

Dim objSWbemLocator
Dim objSWbemServicesEx
Dim objSWbemSink


strComputer = "."

Set objSWbemLocator = WScript.CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServicesEx = objSWbemLocator.ConnectServer(strComputer, "root\cimv2")
Set objSWbemSink = WScript.CreateObject("WbemScripting.SWbemSink","Sink_")

objSWbemServicesEx.ExecNotificationQueryAsync objSWbemSink, _
"SELECT * FROM __InstanceOperationEvent WITHIN 1 " & _
"WHERE TargetInstance ISA 'Win32_PrintJob'"

WScript.Echo "Waiting for print job..."

Do
WScript.Sleep 100
Loop

objSWbemSink.Cancel

Set objSWbemSink = Nothing
Set objSWbemServicesEx = Nothing
Set objSWbemLocator = Nothing

WScript.Quit 0
'=============================================================================

'=============================================================================
Sub Sink_OnObjectReady(objSWbemObject, objSWbemAsyncContext)
With objSWbemObject
'WScript.Echo Now(), vbTab, .Path_.Class, vbTab, .TargetInstance.Name, vbTab, .TargetInstance.Owner, vbTab, .TargetInstance.TotalPages

Select Case .Path_.Class
Case "__InstanceCreationEvent"
With WScript.CreateObject("SAPI.SpVoice")
.Volume = 100
.Rate = 2

.Speak "Print job started!"
End With
Case "__InstanceDeletionEvent"
With WScript.CreateObject("SAPI.SpVoice")
.Volume = 100
.Rate = 2

.Speak "Print job finished!"
End With
Case Else
' Nothing to do
End Select
End With
End Sub
'=============================================================================
Если у Вас установлен русский движок — можете попробовать и русский текст.

DJIOAN
02-12-2014, 11:38
Iska Спасибо за помощь! :clapping: Есть еще несколько вопросов:
-это wsh скрипт (его необходимо запускать или же добавить в винду там где Вход/Выход в сценарии) либо можно в автозагрузку?
-к примеру как быть если у меня 2 ринтера?
- (я так понял озвучка "Print job finished!" происходит стандартными средствами винды)
-можно ли к примеру сделать батник который предварительно скопирует пару звуковых файлов (к примеру в папку Windows в корень, файл pirnStart.wav и printStop.wav), а затем если его необходимо добавить оге в выполнение сценариев

или же можно это все объеденить в один BAT\CMD и просто добавить в Автозагрузку

Iska
02-12-2014, 12:10
его необходимо запускать или же добавить в винду там где Вход/Выход в сценарии) либо можно в автозагрузку? »
И так, и сяк, и даже этак можно.

-к примеру как быть если у меня 2 ринтера? »
Класс «Win32_PrintJob» должен обрабатывать любое число установленных принтеров.

- (я так понял озвучка "Print job finished!" происходит стандартными средствами винды) »
Отчасти. Штатным данный объект стал, кажись, только с Windows XP. И не в курсе насчёт его наличия в новых версиях. Пробуйте.

-можно ли к примеру сделать батник который предварительно скопирует пару звуковых файлов (к примеру в папку Windows в корень, файл pirnStart.wav и printStop.wav), а затем если его необходимо добавить оге в выполнение сценариев »
Упакуйте оба этих файла в архив и выложите на RGhost. Я посмотрю, что можно сделать.

DJIOAN
02-12-2014, 12:44
ок. Спасибо я дома выложу там в основном мой весь материал. Извиняюсь может я слишком банальное вообще спрашиваю, просто я не учился и сам по возможности учусь. Материала много хорошего но он раскидан по инету.

Iska
02-12-2014, 13:01
Учиться — это как раз нормально, не к чему извиняться. Жду.

DJIOAN
02-12-2014, 21:10
я конечно не понял что за RGhost, я прикреплю здесь Вам для просмотра что я написал по степени поступления знаний

DJIOAN
02-12-2014, 21:12
http://forum.oszone.net/attachment.php?attachmentid=119659&stc=1&d=1417543761

DJIOAN
03-12-2014, 08:24
Здравствуйте ! извиняюсь что поздно вчера прислал на сразу заметил что у нас с вами разница 2 часа. У нас сейчас 8,22. Я сегодня попробовал добавить в груповую политику скрипт что вы написали, после перезагрузки выдал ошибку что-то типа "Скрипт не запущен"

DJIOAN
03-12-2014, 08:39
А если быть точным то выскакивает окошко Windows Script Host с ошибко следующего содержания: "Сценарий не указан"
Хотя я сценарий указал в груповой политике во Вход в систему

Iska
03-12-2014, 09:31
А если быть точным то выскакивает окошко Windows Script Host с ошибко следующего содержания: "Сценарий не указан" »
Сохраняйте код в файл с расширением «.vbs», а не «.wsh».

заметил что у нас с вами разница 2 часа. »
Нет.

DJIOAN
03-12-2014, 09:52
Вы не просматривали два варианта что я прикрепил?

Iska
03-12-2014, 10:09
я конечно не понял что за RGhost, »
Поиском воспользоваться RGhost - Поиск в Google (https://www.google.ru/search?q=RGhost) не пробовали ;)?! RGhost (http://rghost.ru/) — файлообменник, удобен для обмена небольшими файлами, поскольку отдаёт без ожидания, без (почти) рекламы и капчи, хранит выкладываемое в течении месяца после последней загрузки.

я прикреплю здесь Вам для просмотра »
Вы не просматривали два варианта что я прикрепил? »
Просматривал. Маракую, как удобнее сделать.

DJIOAN, Вы всерьёз хотите использовать эту белиберду для озвучания? Коллега, Вы же сами через пару дней пользования такой озвучки начнёте плеваться и материться.

Iska
03-12-2014, 11:49
Ну, вот, в первом приближении, примерно так: 119672. При первом запуске скрипт извлечёт из своего тела два «.wav» файла в тот же каталог, где находится сам скрипт.

DJIOAN
03-12-2014, 12:47
Gj поводу звуков я согласен, это просто для теста, я в дальнейшем хочу записать голосовые файлы Печать Началась и соответственно завершена. Я планировал как только будут готовы батники и скрипты (если необходимы или так проще сделать) то все это скомпелировать через WinRAR самораспаковывающимся архивом во временную папку Темп и по извлечению запустился файл Install.bat а там уже по цепочке. Почему хочу через WinRAR я для себя модернизировал модули (7 штук) если интерисует могу дать

DJIOAN
03-12-2014, 13:11
Скажите пожалуйста. Помимо того что там указаны два звуковых файла Cap3done.wav и второго, там эти файлы раскрыты текстовам редактором в строке
resource id="Cap3done.wav">
<![CDATA[
тоесть если я замень звуки wav на другие есть вероятность что они не воспроизведутся либо выдадут ошибку или воспроизведут то что было в старом аудио файле раскрытого текстовым редактором <resource id="Cap3strt.wav">
<![CDATA[
UklGRnxpAABXQVZFZm10IBIAAAABAAEAIlYAACJWAAABAAgAAABmYWN0BAAAAEppAABkYXRh
SmkAAICAgIB/f4CAgIB/f4CAgIB/f39/f39/gH9/gH9/f39/f39/f39/f39/f39/f39/f39/
f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/gH9/f39/f39/f39/
f39/gIB/f39/gH9/f4CAf4B/f4CAgIB/f4CAgICAgICAgIB/f3+AgIB/f4CAgH+AgH9/f4CA
gICAgH9/gH+Af4B/f39/f39/f3+Af39/f4B/f3+Af4B/gH9/f39/f39/f3+AgIB/gH99gH9/
f39/f35+fn5+f35+fH5+fn5+f39/f39/f35/gIGAgYCAgH+BgYGBgYGCgoKBgIB/f4B/gH9/
gICAf39+fH16eXt9f35/fHt5ent+f4KEhYOCgoKEhoeIiomKiYmHh4eKjI2KiYiHhoaHhoaG
hoSBf3+AgIB/fn5+fHp6eXl6fHx7eXl5eXl4eXx8e3p6enl6e318e3x9fHt7fH19fHt7e3t7
e3t6ent7e3p7fHx8e3t9fn18fX1+f3+AgICAf4CBgoSFhYOBg4aIhoWIiIaEhIaIiIaEg4OC
goGAfn5+fHp4eHp3dXJzdHJwb25vb29vb29ub3Byc3V1dnh5ent/gYOEhIeKjI6PkZKUl5ua
mZicnZ+en6GioJ2cn6Cfn5yVkIyMjYqHgoF9d3FwcHBraWRjYF5dXVtaWVlZV1dZWlxbXV1f
YmhtcW5ucHh/hIiJiYuNkZabnJybmZicoKKhnZuam52cnJuamZmZm5iYl5WXmJ6XiH94hZCP
iXx7dnBub3d8eW5mX2BjaWtlYF5cXlhXW2BjXFhZYWNhYWRuc3FvcXd8gYSHiYyQj5GQk5md
nJaWmpubmJmcnZqVk5WWlpeUkpCOkI6PjY6Rjo6HiYuMj4t6dnN/iol9cGxwb25xc3dyZV1c
ZGpraV9aXV1gXFxeX2FgYGVmZWZpcnZ6fHh6fIKKj5GPj5GRk5mdnpyZmZqen52fnp6fn6Gf
nqCfn5+cnp+gnpCLg4aPkY2CfHdzcXFyd3ZtY11bX2FkX1lXVFRSUFNUV1hVVlNUVl5pb21r
Z251f4WKjIuKjZGYnqCfnZueoaSjoKGio6KfnpydnZ2dnZybmZeXlZqYmZmQhX17ho+Pg3Zz
cnBycXh2c2ZfX2NnamReWlpbWldVWVpcWFZXW2BgZGRpbnFxc3d9g4iIiY2QkpSXmJydnpyc
nZ6hoKCgoJ+cmpudnp6bmpual5aVmZmcloZ+fIWQjoZ5dnRwbnN2eHNnYF9jZ2ZkXlpcWlpX
VllYWVhXWVxcXmFmZ2tvcXN2eoCEiIqMj5CSlpicnZ2dnJ2eoaKioaCfn52dn5+dnJudm5mV
lZmam5aJgH6Ci42IfXl0cG9yd3p0aWFhZGhnZWBeXFpaWFlbW1hYWFlcXl9hZWdpbnBzd3l9
gYaJi42OkpWWl5qcnZycnZ6gn5+fnZ6enZ2cnJybm5mZlJWVmJmYjoSBgIiMioN7d3NydXZ4
dnBmZmZqaWhkYF9eXl1bW1taW1xbW1xeYmVoZmtscHN2e36Cg4WIi4+Rk5OWl5mampqbnZ6d
nZydnJqbm5ubm5qYmJeYkpiVlZaKhIGDjYqJfHl8dnd1enp4b2lpbG5qamZkZGFjX1xfYF9e
XV5dXl5kaWtnZ2pwdXd5fICBgYWJjY+QkZCTlZeXlZeZm5qYl5mZmJmampWUlJiXlJOUlI+T
lJCRhISBhY2Khnx2ent8eXt6d29qcHJzbGtpaGdkZ2ZiYGBkYmJgYWJiZ2ttamdqcXd5ent+
fn6DiI2Ni4qMkJKTk5KTlJWXlpWSlZeXl5WSkZSWlJSVkI+PkZCSjpCGgoCGjImGeXmBf3x3
en17cm50d3VubWtsbmtrZmRmZ2hmZWZmZWJob3FsZ2pxeXl3eXt+foGDh4iIiIeKjZCPjIyP
lZSMj5WRjpCZlpGLjpSXlI2Mj5WOio2Oj4mKhYWEhI6Hfnp/hIB7en18endzdnp2bm90cnBt
bGlqbm9raGlramhqbnFxbGtudnl4d3h6fH2AgoODhYSEiIyJiY2IiI2SkouJiZCTjI6SkIeH
k5WMiIuOjoeKjI6IgIiNiIODhYR6gIeKenl7gnt9ent/dnR5fHdxc3Z1cHJ0dHBtb3F0b25w
dHJwcnN0dHd4eHl3e35+fHyCg4KAg4KDiIiFh4aFiYuPgoiQi4eJjo+JhYeVjYWEi5eCgIeO
kX6AiYiFgYKJg3uHhXx8fYeAfHd8gX57enp5e3h4e3V3enhxcnp4d3Rxdnd2dHd4dXp3dXh5
f3d5en6EeH17hoGAf4h+f4WGioKDioSKgoqIi4qDh4mOhYCPioaFhYeKhoSDhYiBgYiBgn5+
hn6Df3uAf3x/fXp8fX13e3x6eXh6eXd+enZ2ent7eHR6fXp4dnqDenZ5e359gXh4goF/eYGE
e4aCf3+IhH+FiYJ/ho2CgYaOg4CHiYWFg4aGh4N+hoqFen6JiIB8goN/gICBfnt9gn5+e3t/
gHh6fn98dnx/fnp4fnt8fHt8fnt7fHx9fXuAfH5+fH6Bfn98gYB/gICBgoB+goWBgHyEhoKA
gYKEgYGCg4KAgoSBgIGDg3+CgYGBgH+AgYB/foCAgIB/f39/f35/f35+foB+fX5+f35+f39+
fX5/f35+fYCAfn5/gH9/gIB/gICAgICAgYGAgICBgYCAgYGBgICCgICAgICAgYF/f4CCgH9/
gIF/f3+AgX9+f4CAf36AgH9+f4B/f4B/fn+Af39+f39/f35/f4B/fn+Af3+AgH9/gICAgICA
f4GAgH+BgICAgICAgICAgIB/gICAgH9/gIB/gH9/f39/f3+Af39/f4B+f39/f3+Af3+Af35/
gH9/f39/f4B/f3+AgH6AgH9/gIB/f4B/gH+AgIB/f4CAgICAgICAgICAgICAgICAgICAgICA
gICAgH+AgH9/f3+AgH9/f4B/f39/f3+Af39/f4B/f39/gH9/f4B/f3+AgH9/f4CAgH9/f4CA
gH9/gICAf3+AgIB/f4CAf4CAgH9/gICAf4CAgH9/gICAf3+Af4B/f4B/f39/gH9/f39/gH9/
f4CAf39/f39/gIB/f39/f4B/gIB/gH+AgH9/gIB/gICAgH9/gICAf4CAgIB/gICAgH+AgIB/
gICAf4CAgICAf4CAgIB/gH+AgIB/f3+AgH9/f39/f3+Af39/f4B/f3+AgH9/f4CAf39/gICA
f39/gICAf4CAf3+AgIB/f4CAgIB/f4CAgICAf3+AgIB/gIB/f3+AgH9/gICAf3+Af4CAf39/
f4CAgH9/gICAf3+AgIB/f3+AgIB/f4B/gH9/f4CAf39/gICAf39/gICAf39/gIGAf39/gICA
f3+AgIB/f3+AgIB/f4CAf39/gH9/f3+AgIB/f3+AgIB/fn+BgH9+gICAgH5/gICAf4CAgIB/
f4CAgH9/gH+Af4B/f3+Bf4F/fn+AgICAfX+CgX9/foCBgH5+f4CAf3+Af3+AgH9+gIB/gH5+
gYGAfn9/gH+AgX5/f4GAf39/f4J/gH6AgYB+foCCgX9+fn+CgH6AgYB+f4CAgIB/gIB/f4CB
f3+AgH+Af4CBfYCBf36AgIB/foB/gIF+f3+BgH9+foGCfn5+f4OBfH6Af4CCf31+f4GAgX59
gICBgnx/gX9/gYB+gIF+gIB/gYF/fn+BgIF+fIGDf32AgICBfn2BgYJ+fYCAgX9/f3+AgIF+
f4B/f4CAgH5+gIF/gX59gIGCgHx+gYCBgH19goJ+fX2BgYJ9fH+BgIB+f3+BgX1/f4CDgHx/
gYGBfn1/goJ+fIGBgX9+gYGAfoJ+gX2CgYF/fYGBfn6CgX9+fn+Cg399fn2AhIN+en+DhX14
gIOCf319goR5e4ODfXuAg4KAfnh+hoV+eX2Dg4F/enyDhYB9fXyDg4J+fICBf3+CgX99gIB+

]]>
</resource>

Iska
03-12-2014, 13:12
я в дальнейшем хочу записать голосовые файлы Печать Началась и соответственно завершена. »
Такие файлы уже есть в теле скрипта, упакованные в base64. Я же написал выше, что они будут извлечены в тот же каталог, где находится скрипт, при первом его запуске.

DJIOAN
03-12-2014, 13:15
Iska Поблагодорю Вас за первый вариант скрипта он работает на WinXP и 8-ке , но проговаривается одновременно если с какого нибудь шлешь файл на печать, так как принтер на одном через USB а второй по сети

Iska
03-12-2014, 13:18
если я замень звуки wav на другие есть вероятность что они не воспроизведутся либо выдадут ошибку »
Содержимое ресурсов должно быть упаковано в base64.

Вам не понравился девичий голос?

но проговаривается одновременно если с какого нибудь шлешь файл на печать, так как принтер на одном через USB а второй по сети »
Поясните.

DJIOAN
03-12-2014, 13:42
добавлен скрип (самый первый вариант в начале статьи) на 2х компах - Основной ноутбук (к нему подключен принтер по кабелю и расшарен по сети) и второй Стационарный (подключен по сети) и независимо с какого посылать на печать проговаривает на 2х машинах одновременно

Подскажите кожалуйста как и где можно почитать про упаковку base64 чтоб я мог подправить скрипт в случае чего




© OSzone.net 2001-2012