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

Компьютерный форум OSzone.net » Сфера Microsoft » Программное обеспечение Windows » Система - Скрыть cmd.exe

Ответить
Настройки темы
Система - Скрыть cmd.exe

Старожил


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

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


Моя тема немного отличается от иных, а это нужно в планировщике заданий windows 8 запустить .bat файл в скрытом режиме, что бы окно командной строки не мозолило глаза пару секунд, знаю, что для запуска в скрытом режиме программ можно использовать start /b .bat но как это применить в Планировщике? В разделе Действия в пути указал путь к батнику, аргумент указал /b а команду start куда впихнуть?)
Если в батник то у меня велосипед, а не батник в который проверяет запущен ли процесс если нет то запустить
Код: Выделить весь код
@echo off
ср1252
tasklist | find /i "1cv8.exe" || start "" /ABOVENORMAL "C:\Program Files\1cv82\8.2.16.352\bin\1cv8s.exe" ENTERPRISE /FD:\–цб /P цб
так как выйти с этой ситуации, куда "прилепить" команду start через план. заданий?!

Отправлено: 14:10, 02-11-2013

 

Ветеран


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

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


Цитата Ua-life:
нужно в планировщике заданий windows 8 запустить .bat файл в скрытом режиме, что бы окно командной строки не мозолило глаза пару секунд, »
Задание исполняется от имени текущего пользователя?

Цитата Ua-life:
знаю, что для запуска в скрытом режиме программ можно использовать start /b .bat »
Не знаете. Параметр «/b» команды «start» означает
читать дальше »
отсутствие флага «CREATE_NEW_CONSOLE» (Process Creation Flags (Windows)):
Цитата:
CREATE_NEW_CONSOLE 0x00000010

The new process has a new console, instead of inheriting its parent's console (the default). For more information, see Creation of a Console.

This flag cannot be used with DETACHED_PROCESS.
т.е., новый процесс будет «наследовать» окно консоли родительского процесса. Не более. Вам, очевидно, нужно совсем не это.


Попробуйте использовать WSH, наподобие (не проверялось):
читать дальше »
Код: Выделить весь код
Option Explicit

Const Above_Normal = 32768

Dim objSWbemObjectEx
Dim lngProcessID


With WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(".", "root\cimv2")
	If .ExecQuery("SELECT * FROM Win32_Process WHERE Name = '1cv8.exe'").Count = 0 Then
		Set objSWbemObjectEx = .Get("Win32_ProcessStartup")
		
		objSWbemObjectEx.PriorityClass = Above_Normal
		
		' Create method of the Win32_Process class (Windows) (http://msdn.microsoft.com/en-us/library/aa389388(v=vs.85).aspx)
		If .Get("Win32_Process").Create( _
			"""C:\Program Files\1cv82\8.2.16.352\bin\1cv8s.exe"" ENTERPRISE /FD:\–цб /P цб", _
			"C:\Program Files\1cv82\8.2.16.352\bin", _
			objSWbemObjectEx, _
			lngProcessID _
		) <> 0 Then
			WScript.Echo "Can't start process [""%ProgramFiles%\1cv82\8.2.16.352\bin\1cv8s.exe"" ENTERPRISE /FD:\–цб /P цб]."
		End If
		
		Set objSWbemObjectEx = Nothing
	End If
End With

WScript.Quit 0

Не забудьте поправить кодировку в «… /FD:\–цб /P цб» и указать правильный текущий каталог вместо приведённого в коде «"C:\Program Files\1cv82\8.2.16.352\bin"» во втором параметре метода «.Create()».

Отправлено: 15:23, 02-11-2013 | #2



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

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


Старожил


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

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


Цитата Iska:
Задание исполняется от имени текущего пользователя? »
да под текущим
Цитата Iska:
Не знаете. Параметр «/b» команды «start» означает »
что тут сказать, как не упс
Цитата Iska:
Попробуйте использовать WSH, наподобие (не проверялось): »
Где то такое видел ... попробую
Цитата Iska:
Не забудьте поправить кодировку в «… /FD:\–цб /P цб» и указать правильный текущий каталог вместо приведённого в коде «"C:\Program Files\1cv82\8.2.16.352\bin"» во втором параметре метода «.Create()». »
спасибо, буду пробовать.

А что бы через планировщик заделать желаемое никак?

Отправлено: 17:40, 02-11-2013 | #3


Ветеран


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

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


Цитата Ua-life:
А что бы через планировщик заделать желаемое никак? »
Ua-life, я и не предлагаю отказываться от Планировщика. Сохраняете приведённый код в файл с расширением .vbs, поправив указанные выше моменты в коде, затем добавляете путь к сохранённому файлу в Планировщик, ровно так же, как Вы делали бы сие для пакетного файла. По умолчанию будет использоваться хост «wscript.exe», посему окна консоли Вы не увидите. Вам ведь это требовалось?

P.S. Я правильно понял, что речь шла только об окне консоли командного процессора, а окно самого приложения 1С при запуске принудительно скрывать не нужно, так?

Отправлено: 23:52, 02-11-2013 | #4


Старожил


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

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


Цитата Iska:
Вам ведь это требовалось? »
да, это мне нужно
Цитата Iska:
Я правильно понял, что речь шла только об окне консоли командного процессора, а окно самого приложения 1С при запуске принудительно скрывать не нужно, так? »
нет, это мне ни к чему
Спасибо вам, буду пробовать, отпишусь о результате

Отправлено: 17:17, 03-11-2013 | #5


Старожил


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

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


Пришел на работу и ко мне тут дошло, а каким образом мне ваш и мой код совместить?!
http://copyraite.blogspot.com/2013/11/blog-post.html вот мое решение, буду признателен, запутался

Отправлено: 11:20, 04-11-2013 | #6


Ветеран


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

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


Цитата Ua-life:
а каким образом мне ваш и мой код совместить?! »
Не надо совмещать. Просто сделайте это:
Цитата Iska:
Сохраняете приведённый код в файл с расширением .vbs, поправив указанные выше моменты в коде, затем добавляете путь к сохранённому файлу в Планировщик, ровно так же, как Вы делали бы сие для пакетного файла. »
Если процесс «1cv8.exe» не существует:
Код: Выделить весь код
If .ExecQuery("SELECT * FROM Win32_Process WHERE Name = '1cv8.exe'").Count = 0 Then
только тогда он будет создан с повышенным приоритетом.

Не забудьте задать каталог в методе «.Create» и поправить:
Цитата:
Код: Выделить весь код
… ENTERPRISE /F D:\ПутьКБазе /N НазваниеПользователя /P ЕгоПароль

Отправлено: 22:26, 04-11-2013 | #7


Старожил


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

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


Подставил свои параметры (прошу посмотреть правильно ли)
читать дальше »
Код: Выделить весь код
Option Explicit

Const Above_Normal = 32768

Dim objSWbemObjectEx
Dim lngProcessID


With WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(".", "root\cimv2")
	If .ExecQuery("SELECT * FROM Win32_Process WHERE Name = '1cv8.exe'").Count = 0 Then
		Set objSWbemObjectEx = .Get("Win32_ProcessStartup")
		
		objSWbemObjectEx.PriorityClass = Above_Normal
		
		' Create method of the Win32_Process class (Windows) (http://msdn.microsoft.com/en-us/library/aa389388(v=vs.85).aspx)
		If .Get("Win32_Process").Create( _
			"""C:\Program Files\1cv82\8.2.16.352\bin\1cv8.exe"" ENTERPRISE /FD:\ЦентральнаяБаза /N ЦентральнаБаза /P МойПароль", _
			"C:\Program Files\1cv82\8.2.16.352\bin\1cv8.exe", _
			objSWbemObjectEx, _
			lngProcessID _
		) <> 0 Then
			WScript.Echo "Can't start process [""%Program Files\1cv82\8.2.16.352\bin\1cv8.exe"" ENTERPRISE /FD:\ЦентральнаяБаза /N ЦентральнаБаза /P МойПароль."
		End If
		
		Set objSWbemObjectEx = Nothing
	End If
End With

WScript.Quit 0

и последующего запуска появляется
Цитата:
---------------------------
Windows Script Host
---------------------------
Can't start process ["%Program Files\1cv82\8.2.16.352\bin\1cv8.exe" ENTERPRISE /FD:\ЦентральнаяБаза /N ЦентральнаБаза /P МойПароль.
---------------------------
ОК
---------------------------
Цитата Iska:
If .ExecQuery("SELECT * FROM Win32_Process WHERE Name = '1cv8.exe'").Count = 0 Then »
не понял, так этот кусок кода и так присутствует в выше приведенном вами коде

Отправлено: 11:14, 05-11-2013 | #8


Ветеран


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

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


Уберите зачёркнутое:
Код: Выделить весь код
		If .Get("Win32_Process").Create( _
			"""C:\Program Files\1cv82\8.2.16.352\bin\1cv8.exe"" ENTERPRISE /FD:\ЦентральнаяБаза /N ЦентральнаБаза /P МойПароль", _
			"C:\Program Files\1cv82\8.2.16.352\bin\1cv8.exe", _
			objSWbemObjectEx, _
			lngProcessID _
		) <> 0 Then
Второй параметр — должен указывать путь к потребному каталогу, а не к файлу.

Цитата Ua-life:
не понял, так этот кусок кода и так присутствует в выше приведенном вами коде »
Вы выше спросили, как совместить код. Я ответил, что совмещать не нужно, поскольку код на WSH полностью замещает код указанного пакетного файла, и проиллюстрировал это куском кода.

Отправлено: 11:29, 05-11-2013 | #9


Старожил


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

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


Цитата Iska:
Уберите зачёркнутое: »
ай красота, скрипт запустился, сейчас попробуем к планировщику его применить

Все работает! Ой какой же я Вам благодарный! Потрясающее! То, что требовалось, если не возражаете приведу выше код в одному из постов в своем блоге?! Огромное спасибо Вам! Очень помогли!

К тому же этот код можно редактировать к другим приложениями которые запускаются в таких же случаях?!

Отправлено: 12:04, 05-11-2013 | #10



Компьютерный форум OSzone.net » Сфера Microsoft » Программное обеспечение Windows » Система - Скрыть cmd.exe

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Система - Как скрыть окно в котором выполняется пакетный файл (*.bat или *.cmd)? Shaytan Программное обеспечение Windows 36 21-12-2021 14:57
[решено] Проблема с regedit.exe и cmd.exe VIGOPO Лечение систем от вредоносных программ 8 09-11-2012 20:52
[решено] Как заткнуть *.cmd? Как скрыть выполнение DOS-овской команды? J-S Автоматическая установка Windows 2000/XP/2003 5 08-05-2010 22:24
Ошибка - Не запускается cmd.exe и regedit.exe AlekseyD Microsoft Windows 2000/XP 3 30-01-2009 12:16
[решено] Проблема с regedit.exe и cmd.exe Shym Лечение систем от вредоносных программ 30 11-06-2008 09:04




 
Переход