![]() |
Не запускается ехе
Доброго времени суток, снова нубо-скриптер у клавиатуры. В коде не запускается ехе, точнее запускается, но сразу же выключается.
@echo off set "wmic=wmic process call create "C:\samp-server.exe" | findstr "ProcessId"" for /f "tokens=2 delims==;" %%i in (' "%wmic%" ') do set "pid=%%i" echo %pid% pause На экран выводится PID, все вроде бы хорошо, но samp-server.exe просто мигнул на экране и все. Если вручную запускать, то работает отлично. Точно так же не хочет работать и на VBS скрипте. Заранее спасибо! |
dima05605, запускайте «samp-server.exe», затем смотрите, что указано в его выводе. Читайте «server_log.txt».
|
Цитата:
|
dima05605, откуда брали «samp-server.exe»?
|
С google конечно же :) На samp-server.exe можно не смотреть. У меня большинство ехе не работают как надо. Просто мелькают на экране и все
|
![]() Думаю тут комментарии излишни. Везде показывает по-разному |
dima05605, по Вашему мутному скриншоту сложно что-то разобрать.
Цитата:
|
Что тут разбирать? Объясню. В скрипте пишет что PID 892, а в командной строке пишет, что 3076.
|
У меня — нет.
|
Все правильно у вас? Показывает правильный PID? А почему тогда у меня сам закрывается ехе? Кстати, а можно ли как-то запустить этот ехе внутри bat? Например как я на паскале делал - командная строка внутри проекта на паскале, так и запускать exe внутри батника.
|
Цитата:
|
Взял, скачал, распаковал, конфиг настроил. Вручную ехе запускается, создает лог файл и не пропадает, при запуске батником, пропадает ехе и никаких логов не создалось. Проверял на двух компах с WinXP и Win7
|
dima05605, он не может найти потребные файлы. Добавьте «Working Directory»:
Код:
set "wmic=wmic process call create "<Путь>\samp-server.exe", "<Путь>" | findstr "ProcessId"" |
Не хочет работать :( Уже не знаю что делать...
Может на виртуальной машине попробовать сделать? |
Строку:
Код:
rcon_password changeme У меня никаких проблем нет: |
@echo off
setlocal enableextensions enabledelayedexpansion for /f "usebackq tokens=2 delims==;" %%i in ( `wmic.exe Process Call Create "C:\SAMP\samp-server.exe"^, "C:\SAMP\samp-server.exe" ^| findstr.exe "ProcessId"` ) do set sPID=%%i if defined sPID echo [%sPID%] endlocal exit /b 0 Не работает ни у друга, ни на моем компе с XP, ни на семерке почему-то... По вашим скриншотам четко видно, что все ок. :( |
И не должно работать. Уберите лишнее:
Код:
@echo off |
РАБОТАЕТ! Я даже не знаю как отблагодарить вас! :) Спасибо огромное, вы буквально решили судьбу моего хостинга :)
|
Кстати, не хочет работать с BAT файлами. С ехе все хорошо :)
|
|
Юзаю тот же код, что и заработал с ехе, но bat файлы не запускаются. Это как в списке обновлений: "исправлены старые баги, добавлены новые." :)
|
Цитата:
|
Код:
@echo off setlocal enableextensions enabledelayedexpansion for /f "usebackq tokens=2 delims==;" %%i in ( `wmic.exe Process Call Create "C:\file.bat"^, "C:\" ^| findstr.exe "ProcessId"` ) do set sPID=%%i if defined sPID echo [%sPID%] endlocal ping -n 2 127.0.0.1 > NUL pause Батник: @echo off echo TEST MESSAGE pause |
dima05605, у меня работает. PID отображает. Корректный. Для чистоты я поправил разбор — был лишний пробел.
E:\Песочница\0220\0001.cmd: Код:
@echo off Код:
@echo off |
Спасибо, все работает. Правда почему-то в C:\ не хочет работать, но в любом другом месте работает на УРА!
|
Цитата:
Вы можете использовать обходной путь, добавив в путь ссылку каталога на самого себя в виде точки: Код:
`wmic.exe Process Call Create "C:\0002.cmd"^, "C:\." ^| findstr.exe "ProcessId"` |
Время: 10:15. |
Время: 10:15.
© OSzone.net 2001-