Страница 1 из 2
Запуск нескольких файлов с автоматическим расположением
Добавлено: Ср янв 04, 2012 15:51
BezDNaU
Задача такая:
Запустить выделенные файлы в ассоциированом приложении (например несколько видеофайлов в PotPayer) и автоматически их распределить по рабочему столу в виде мозаики.
Можно ли такое реализовать скриптом или чем еще. ОС Win7.
Заранее всем спасибо.
Добавлено: Ср янв 04, 2012 17:42
ask-rus
BezDNaU писал(а):и автоматически их распределить по рабочему столу в виде мозаики.

Что значит "распределить"? Скопировать на рабочий стол? Перенести? Ярлыки? Мозаика, это как?
Добавлено: Ср янв 04, 2012 18:50
BezDNaU
Распределить - равномерно разместить по рабочему столу окна (например 9 окон расположить 3 на 3 окна)
Добавлено: Чт янв 05, 2012 11:43
Flasher
BezDNaU
На AutoIt намудрить, может, и можно.
А чем панели быстрого запуска не устраивают? Полно же всяких программ аля Winstep Nexus Dock. Зачем на Рабочий стол "гадить"? Ну, чтобы при использовании иконок красиво было, можно, конечно, Stardock Fences и т.п. использовать, но я не совсем понимаю, зачем при наличии ТС, PP, TLB, TrC и т.д. обращаться к Рабочему столу.
Создать ярлыки из выделенного там - не проблема, а вот расположить плиткой... Тут нужна утилита с поддержкой комстроки. В окнах знаю только
такую (Pass: serbis.net.ru), но плитку она делать не умеет, только по кругу и выравнивание по сетке, не считая всяких двигающихся извращений. Есть ещё запуск схемы-файла с относительно простым синтаксисом (<имя> <координаты>). Т.е. сперва нужно просмотреть список иконок и потом расписать для каждой в строке положения относительно размеров экрана. Можно, конечно, повозиться с элементарной математикой и написать скрипт, но, ИМХО, лучше попросить автора, чтобы добавил команду.

Добавлено: Чт янв 05, 2012 18:39
MVV
Flasher, ему не ярлыками надо рабочий стол загадить, он неточно выразился. Ему нужно запустить несколько экземпляров программы (например, видеоплейера) и расположить окна этих экземпляров плиткой по экрану.
Добавлено: Чт янв 05, 2012 19:26
BezDNaU
MVV писал(а):Flasher, ему не ярлыками надо рабочий стол загадить, он неточно выразился. Ему нужно запустить несколько экземпляров программы (например, видеоплейера) и расположить окна этих экземпляров плиткой по экрану.
Да именно так. Извините если неточно выразился (но про ярлыки у меня нигде не было написано). Спасибо
MVV за правку.
Добавлено: Пт янв 06, 2012 01:38
Flasher
MVV писал(а):расположить окна этих экземпляров плиткой по экрану
А, это другое дело. А то написал сперва про Рабочий стол, что меня и сбило. Можно
WinPos подключить.
Добавлено: Пт янв 06, 2012 17:45
ask-rus
Когда-то
Tol!k упоминал утилиту.
Добавлено: Вс апр 22, 2012 18:26
BezDNaU
Частично решил задачу используя Mplayer и такой батник:
Код: Выделить всё
start HideC.exe mplayer.exe -noborder -ontop -loop 0 -shuffle -xy 640 -geometry 0:0 -playlist %~f1
@ping -n 3 localhost > nul
start HideC.exe mplayer.exe -noborder -ontop -loop 0 -shuffle -xy 640 -geometry 640:0 -playlist %~f1
@ping -n 3 localhost > nul
start HideC.exe mplayer.exe -noborder -ontop -loop 0 -shuffle -xy 640 -geometry 1280:0 -playlist %~f1
@ping -n 3 localhost > nul
start HideC.exe mplayer.exe -noborder -ontop -loop 0 -shuffle -xy 640 -geometry 0:350 -playlist %~f1
@ping -n 3 localhost > nul
start HideC.exe mplayer.exe -noborder -ontop -loop 0 -shuffle -xy 640 -geometry 640:350 -playlist %~f1
@ping -n 3 localhost > nul
start HideC.exe mplayer.exe -noborder -ontop -loop 0 -shuffle -xy 640 -geometry 1280:350 -playlist %~f1
@ping -n 3 localhost > nul
start HideC.exe mplayer.exe -noborder -ontop -loop 0 -shuffle -xy 640 -geometry 0:700 -playlist %~f1
@ping -n 3 localhost > nul
start HideC.exe mplayer.exe -noborder -ontop -loop 0 -shuffle -xy 640 -geometry 640:700 -playlist %~f1
@ping -n 3 localhost > nul
start HideC.exe mplayer.exe -noborder -ontop -loop 0 -shuffle -xy 640 -geometry 1280:700 -playlist %~f1
HideC.exe - для скрытия консольного окна. В параметры кнопки ставиться %L.
Решение не самое элегантное и совсем не автоматизированное, в связи с чем просьба к скриптописателям, как нибудь облагородить это дело. Хотелось бы конечно автоматическое определение разрешения монитора и видеокадра, и исходя из этого расчет размера видео (параметр -xy) и его положения на экране (-geometry X:Y).
Спасибо.
Добавлено: Вс апр 22, 2012 20:57
Tol!k
Код: Выделить всё
@echo off &setlocal enableextensions &chcp 1251 >nul
:: Пример параметров: "%L" 9
set play=start HideC.exe mplayer.exe -noborder -ontop -loop 0 -shuffle -playlist %1
goto :%2
:4
set xy=960
set h=0 960
set v=0 525
goto :play
:9
set xy=640
set h=0 640 1280
set v=0 350 700
goto :play
:16
set xy=480
set h=0 480 960 1440
set v=0 262 525 787
goto :play
:play
for %%v in (%v%) do (
for %%h in (%h%) do (
%play% -xy %xy% -geometry %%h:%%v
ping -n 3 localhost >nul
)
)
goto :eof
Добавлено: Вс апр 22, 2012 21:05
Flasher
BezDNaU
Советую на форумы с AutoIt (
1,
2,
3) обратиться, там с этим лучше (без лишних утилит) справятся.
Добавлено: Пн апр 23, 2012 10:44
BezDNaU
Спасибо Tol!k!
Спасибо Flasher за совет.
Добавлено: Сб апр 28, 2012 18:19
Tol!k
с определением размера экрана
Код: Выделить всё
@echo off &setlocal enableextensions &chcp 1251 >nul
:: http://forum.wincmd.ru/viewpost.php?p=91908
:: Пример параметров: "%L" 3x4
set play=start HideC.exe mplayer.exe -noborder -ontop -loop 0 -shuffle -playlist %1
for /f %%s in (
'wmic DesktopMonitor get ScreenHeight^,ScreenWidth /value ^|find "="'
) do set "%%s"
for /f "tokens=1,2 delims=*xX:хХ/" %%x in ("%~2") do (set /a x=%%x &set /a y=%%y)
set /a Width=ScreenWidth/x &set /a Height=ScreenHeight/y
call :grid %x% %y% &goto :play
:play
for %%v in (%v%) do (
for %%h in (%h%) do (
%play% -x %Width% -y %Height% -geometry %%h:%%v
ping -n 3 localhost >nul
)
)
goto :eof
:grid
set /a h=v=_=.=0
for /l %%i in (2,1,%1) do (set /a _+=Width &call set "h=%%h%% %%_%%")
for /l %%i in (2,1,%2) do (set /a .+=Height &call set "v=%%v%% %%.%%")
goto :eof
изменён 2ой параметр
Добавлено: Вс апр 29, 2012 09:33
BezDNaU
Вообще супер!!!
Спасибо Tol!k!
Добавлено: Вс апр 29, 2012 09:59
Flasher
BezDNaU
Так изначально запрос не касался mplayer. Разве нужно было не что-то универсальное?