Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   как создать exe для запуска другого exe с параметрами, из той же папки (http://forum.oszone.net/showthread.php?t=262077)

vzli_izv 08-06-2013 06:07 2164224

как создать exe для запуска другого exe с параметрами, из той же папки
 
Нужно создать два exe файла (без сложного программирования) для того, что бы запустить 2 разные программы с разным типом параметров из своих папок.
Возможны варианты других программ, но пока представленные ниже:

Ситуация первая. Skype.
Есть замена меню пуска - Classic Shell, в которой создаёшь своё меню Пуск.
Есть папка Skype, в которой есть папка \Data с профилем этого скайпа для запуска без установки.
если создать ярлык skype.exe с параметрами /datapath:Data /minimized и запустить сам ярлык из папки, то программа запускается с подхватом этого профиля и сворачивается в панель. Из меню Пуск'а (Classic Shell) ярлык запускается без параметров (без запуска профиля).

если создать bat с кодом
@echo off
start skype.exe /datapath:Data /minimized
и запустить его из той же папки, где лежит skype.exe, то программа запускается с подхватом этого профиля.

Но если я хочу запустить этот bat из Пуска (Classic Shell), то мне выдаёт ошибку : Не удалось найти skype.exe. Проверьте, правильно ли указано имя и повторите попытку.
Ну и некоторые программы не дают запускать исполнительные файлы других форматов и ярлыки кроме exe, поэтому хотелось бы использовать именно этот формат - exe.

Так же, есле скомпилировать exe из bat (Bat to exe Сonverter), то программа не запускается, так как Skype не может найти файлы, нужные ему для работы.

Ситуация два. CS 1.6
тоже самое, только параметры другие: -game cstrike -dev
(я знаю, что есть в сети файл exe для запуска кс, но найти без вируса его не реально + те, что я пробовал не идут с моей версией.
Так же хотелось бы иметь возможность запускать этот ярлык с выбором.
Например 2 вида параметров:
-game cstrike -dxlevel 7 -nojoy -freq 100 -numericping
и
-game cstrike -win -width 1680 - height 1050 -dxlevel 7 -nojoy -freq 100 -numericping


Есть конвертер Bat to exe Сonverter, есть Sign 0f Misery, есть Алгоритм 2.5 но в них не могу запустить с параметрами...
в идеале наверно exe с считыванием параметров запуска из .ini.
Но я не умею это реализовывать ((

yurfed 08-06-2013 06:43 2164232

Цитата:

Цитата vzli_izv
@echo off
start skype.exe /datapath:Data /minimized »

А вы не хотите указать полный путь до Skype?

vzli_izv 08-06-2013 06:57 2164235

start "D:\000 Programs File/000/Skype/Phoneskype.exe" /datapath:Data /minimized
ничего не происходит

Цитата:

Цитата:

есть Sign 0f Misery
Что у вас не получается? »
собственно, есть программа ))

yurfed 08-06-2013 07:36 2164241

vzli_izv,
Цитата:

Цитата vzli_izv
start "D:\000 Programs File/000/Skype/Phoneskype.exe" /datapath:Data /minimized »

Выделенное должно быть так. Да и слеши все должны быть обратными "\"
Phone\skype.exe
Если это D:\000 Programs File/000/Skype/ ваш правильный путь, тогда держите скриптик. Делал в Sign 0f Misery 2.7
У меня почему то AVG на него отругался :)
Ваш батник
Код:

"D:\000 Programs File/000\Skype\Phone\skype.exe" /datapath:Data /minimized

vzli_izv 08-06-2013 07:57 2164242

Цитата:

"D:\000 Programs File/000\Skype\Phone\skype.exe" /datapath:Data /minimized
совершенно верно, но ничего не происходит ))

Цитата:

тогда держите скриптик. Делал в Sign 0f Misery 2.7
Can't not execute file
ExecutedCommandCode=151
Offset=0
и всё...

Цитата:

У меня почему то AVG на него отругался
https://www.virustotal.com/ru/file/c...is/1370663602/
)))

yurfed 08-06-2013 08:05 2164245

Programs File/000
Programs File\000
Может тут собака порылась :)
А просто батник не отрабатывает?

vzli_izv 08-06-2013 08:21 2164247

попробовал
Код:

start /d"D:\000 Programs File\000\Skype\Phone" skype /datapath:Data /minimized
но видимо не идёт обработка /datapath:Data и профиль не загружается.
но уже нет ошибки, если запустить и Пуска тот же батник...
видимо надо точно определить в переменных путь, папки и тд...но я в этом не силён...

Цитата:

Programs File/000
Programs File\000
да я уже по всякому...

с кс решил так
Код:

start /d"E:\003 Games\CS" hl  -game cstrike -full -width 1920 - height 1080 -dxlevel 7 -nojoy -freq 100 -numericping
и
Код:

start /d"E:\003 Games\CS" hl  -game cstrike -win -width 1680 - height 1050 -dxlevel 7 -nojoy -freq 100 -numericping
всё прекрасно работает...даже в скомпилированном из бата ехе...

и скайп тоже решил
Код:

start "" "D:\000 Programs File\000\Skype\Phone\skype.exe"  /datapath:Data /minimized
но WTF это было?!?!

в итоле вся запара оказаласть из за " " после start
поменял
Код:

start /d"E:\003 Games\CS" hl  -game cstrike -full -width 1920 -  height 1080 -dxlevel 7 -nojoy -freq 100 -numericping
на
Код:

start "" "E:\003 Games\CS\hl.exe"  -game cstrike -full -width 1920 - height 1080 -dxlevel 7 -nojoy -freq 100 -numericping
и всё заработало...

vzli_izv 08-06-2013 09:22 2164257

а как реализовать в bat автоматический выбор параметра запуска через заданное время, если за это время не был выбран никакой из списка ?
в этом коде

Код:

@echo off
:start
cls
echo [1] На весь экран
echo [2] В окне
echo+
echo [0] Выйти
echo+
set /p userinp=choose a Profile(1-2) or Exit(0):
set userinp=%userinp:~0,1%
if "%userinp%"=="1" goto Profile1
if "%userinp%"=="2" goto Profile2
if "%userinp%"=="0" goto Exit

если за 5 сек не выбран один из представленных параметров запуска, то запустить Profile1

echo invalid choice
goto start
:Profile1
start "" "E:\003 Games\CS\hl.exe"  -game cstrike -full -width 1920 - height 1080 -dxlevel 7 -nojoy -freq 100 -numericping
exit
:Profile2
start "" "E:\003 Games\CS\hl.exe"  -game cstrike -win -width 1680 - height 1050 -dxlevel 7 -nojoy -freq 100 -numericping
exit

и как делать выбор без подтверждения клавишей enter?

Iska 08-06-2013 11:49 2164306

Цитата:

Цитата vzli_izv
в итоле вся запара оказаласть из за " " после start
поменял »

Вы молодец, что таки нашли. Вполне серьёзно. Данная ошибка встречается достаточно регулярно.


Цитата:

Цитата vzli_izv
а как реализовать в bat автоматический выбор параметра запуска через заданное время, если за это время не был выбран никакой из списка ? »

Только поменяв «set /p» на «choice.exe». У Вас какая ОС?

vzli_izv 08-06-2013 13:42 2164355

win7

всё...разобрался со всем: и время отсчитывает и выбор без enter'a и вообще кода мало...Iska, благодарю!!
Код:

@echo off
Echo  1
Echo  2
Echo  3 
choice /T 5 /D 1 /c 123 /n
cls
call :%errorlevel%
:1
start "" "E:\003 Games\CS\hl.exe"  -game cstrike -full -width 1920 - height 1080 -dxlevel 7 -nojoy -freq 100 -numericping
exit
 
:2
start "" "E:\003 Games\CS\hl.exe"  -game cstrike -win -width 1680 - height 1050 -dxlevel 7 -nojoy -freq 100 -numericping
exit
 
:3
exit


Iska 08-06-2013 14:18 2164371

vzli_izv, тогда можно и ещё сократить, указав вместо:
Код:

Echo 1
Echo 2
Echo 3

текст в самой команде «choice.exe» параметром «/m», наподобие (не проверялось — командная строка для «choice.exe» из комплекта Resource Kit'ов для Windows 2000 отличается от таковой для Windows 7):
Код:

@echo off
setlocal enableextensions enabledelayedexpansion

choice.exe /c:FWE /t 5 /d F /m "[F]ull screen mode (default choice after 5 seconds), [W]indow mode or [E]xit. Select one of: "
call :Choice%errorlevel%

endlocal
exit /b 0

:Choice1
start "" "E:\003 Games\CS\hl.exe"  -game cstrike -full -width 1920 - height 1080 -dxlevel 7 -nojoy -freq 100 -numericping
exit /b 0

:Choice2
start "" "E:\003 Games\CS\hl.exe"  -game cstrike -win -width 1680 - height 1050 -dxlevel 7 -nojoy -freq 100 -numericping
exit /b 0

:Choice3
exit /b 0


vzli_izv 08-06-2013 14:37 2164378

благодарю, но метод через «/m» не даёт возможности менять позицию надписи. Она прижата к краю.
Echo 1 Echo 2 Echo 3 позволяет делать отступ, что для оформления более приемлемо ))) да, вот так вот ))


Код:

echo                @@@@@@@@@@@@@      @@@@@@@@@@@@@ 
echo              @@@@@@@@@@@@@@@@    @@@@@@@@@@@@@@@@
echo              @@@@@              @@@@             
echo              @@@@@              @@@@           
echo              @@@@@                @@@@@@@@@@@@@@@@
echo              @@@@@                @@@@@@@@@@@@@@@@
echo              @@@@@                            @@@@
echo              @@@@@@@@@@@@@@@@  @@@@@@@@@@@@@@@@@@
echo                @@@@@@@@@@@@@@@@    @@@@@@@@@@@@@@@@
echo+
echo+
Echo            1 Full  1920x1080    2 Window 1680x1050  3 Exit


Iska 08-06-2013 14:49 2164386

vzli_izv, ясно.


Время: 00:57.

Время: 00:57.
© OSzone.net 2001-