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

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

Ответить
Настройки темы
CMD/BAT - [решено] Запуск файла при условии (определенном разрешении экрана)

Аватара для timyr.dp

Новый участник


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

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


Изменения
Автор: timyr.dp
Дата: 09-03-2012
Помогите, пожалуйста, разобраться.
Хочу с помощью батника запускать EXE-шник при выполнении определенного условия. Но условие не простое, а именно: определение разрешения экрана.

Как определить разрешение экрана я нашел:
Код: Выделить весь код
mshta "javascript:var o = new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1); o.Write(screen.width + 'x' + screen.height); close()" 1 | more
Результат выполнения:
Код: Выделить весь код
C:\Users\user\Desktop>mshta "javascript:var o = new ActiveXObject('Scripting.Fi
leSystemObject').GetStandardStream(1); o.Write(screen.width + 'x' + screen.heigh
t); close()" 1   | more
1680x1050
Не могу сообразить как составить условие
Код: Выделить весь код
ЕСЛИ переменная==1680x1050 start программа.ехе or переменная==1024x768 start программа2.ехе
Помогите кто чем может!

Отправлено: 02:42, 09-03-2012

 

Аватара для timyr.dp

Новый участник


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

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


Цитата yurfed:
Я вам не подскажу конкретно, но про какое условие вы говорите если нет альтернативы к действию? »
Даже не знаю.. А определение разрешения экрана и вывод результата может быть действием?

Задача такая:
В зависимости от разрешения экрана запускать определенную программу.

Цитата yurfed:
Что в итоге должно быть ELSE? Вроде как ELSE не может существовать без THEN.»
Я слабоват в программировании. Наверно ошибся, не ЕЩЕ (ELSE) а ИЛИ (or). Я даже не знаю, можно ли использовать в БАТниках "ИЛИ"

Отправлено: 03:31, 09-03-2012 | #2



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

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


Ветеран


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

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


Цитата timyr.dp:
Не могу сообразить как составить условие »
timyr.dp, у Вас непонятное условие. Точнее, их там полтора.

Если условие одно — на равенство «1680x1050», то как-то так:
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

for /f "usebackq delims=" %%i in (
    `@"%SystemRoot%\system32\mshta.exe" "javascript:try {new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(window.screen.width + 'x' + window.screen.height)}; catch (e){}; close();" ^
    1^|more`
) do set sResolution=%%i

if defined sResolution (
	if "%sResolution%" equ "1680x1050" (
		start "" "%SystemRoot%\system32\calc.exe"
	) else (
		start "" "%SystemRoot%\system32\notepad.exe"
	)
) else (
	echo Can't determine resolution
)

endlocal
exit /b 0
Это сообщение посчитали полезным следующие участники:

Отправлено: 04:00, 09-03-2012 | #3


Аватара для yurfed

Ветеран


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

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


Iska, timyr.dp, я извиняюсь, случайно удалил своё сообщение, если вдруг не понятен "диалог" yurfed- timyr.dp выше.

-------
Хочу ли я - Могу ли я - Говно ли я - Магнолия


Отправлено: 05:11, 09-03-2012 | #4


Ветеран


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

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


Цитата timyr.dp:
ЕСЛИ переменная==1680x1050 start программа.ехе or переменная==1024x768 start программа2.ехе »
Код: Выделить весь код
@echo off
setlocal

set "wmic=wmic desktopmonitor get screenwidth, screenheight /value"
for /f %%i in (' "%wmic%" ') do 1>nul set "%%i"

if "%screenwidth%x%screenheight%"=="1680x1050" start "" "notepad"
if "%screenwidth%x%screenheight%"=="1024x768"  start "" "calc"
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:23, 09-03-2012 | #5


Аватара для timyr.dp

Новый участник


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

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


Цитата Foreigner:
@echo off setlocal set "wmic=wmic desktopmonitor get screenwidth, screenheight /value" for /f %%i in (' "%wmic%" ') do 1>nul set "%%i" if "%screenwidth%x%screenheight%"=="1680x1050" start "" "notepad" if "%screenwidth%x%screenheight%"=="1024x768" start "" "calc" »
Это сработало! Спасибо!

Отправлено: 14:47, 09-03-2012 | #6


Новый участник


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

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


Не для всех видеокарт работает
Цитата Foreigner:
@echo off
setlocal
set "wmic=wmic desktopmonitor get screenwidth, screenheight /value"
for /f %%i in (' "%wmic%" ') do 1>nul set "%%i"
if "%screenwidth%x%screenheight%"=="1680x1050" start "" "notepad"
if "%screenwidth%x%screenheight%"=="1024x768" start "" "calc" »
А вот такой работает у меня везде

@echo off
setlocal

set "wmic=wmic desktopmonitor where 'ScreenWidth!=null and ScreenHeight!=null' get screenwidth, screenheight /value"
for /f %%i in (' "%wmic%" ') do 1>nul set "%%i"

if "%ScreenWidth%x%ScreenHeight%"=="1680x1050" start "" "notepad"
if "%ScreenWidth%x%ScreenHeight%"=="1024x768" start "" "calc"

Последний раз редактировалось Fetser, 20-08-2012 в 15:42.


Отправлено: 11:58, 20-08-2012 | #7



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Запуск приложения при условии наличия файла popoves Скриптовые языки администрирования Windows 2 29-02-2012 09:29
появление картинок при определенном разрешении экрана Rubichek Вебмастеру 1 07-09-2011 17:39
[решено] остановка функции при условии. yukuru AutoIt 3 26-07-2011 00:01
VBS/WSH/JS - Запуск программы на определенном компьютере Deviator Скриптовые языки администрирования Windows 6 11-12-2009 16:29
CMD/BAT - [решено] Создание текстового файла при условии его отсутствия в папке spilberg Скриптовые языки администрирования Windows 1 12-07-2009 15:58




 
Переход