|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Записывается не тот PID |
|
|
CMD/BAT - [решено] Записывается не тот PID
|
Пользователь Сообщения: 66 |
Доброго времени суток, уважаемые форумчане! Только что столкнулся с проблемой, которой вовсе не должно было произойти. В pid.txt записывается не верный PID, то есть у процесса, который запуститься с этого кода, будет совсем другой PID по сравнению с записанным. В exfile.txt лежит файл, который надо запустить, в con_login.txt лежит путь к файлу.
Вот код: @echo off :begin ping -n 2 127.0.0.1 > NUL if not exist start_server.txt goto :begin else goto :start_server :start_server Set file=exfile.txt For /F "usebackq tokens=* delims=" %%i In ("%file%") Do Set exf=%%i Set file=con_login.txt For /F "usebackq tokens=* delims=" %%i In ("%file%") Do Set conlogin=%%i set conlogin=%conlogin: =% echo %conlogin%\%exf% set "wmic=wmic process call create "%conlogin%\%exf%" | findstr "ProcessId"" for /f "tokens=2 delims==;" %%i in ('"%wmic%"') do set "pid=%%i" del start_server.txt echo %pid% > pid.txt goto :begin |
|
Отправлено: 20:50, 17-12-2012 |
Ветеран Сообщения: 1758
|
|
Отправлено: 21:45, 17-12-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 66
|
Профиль | Отправить PM | Цитировать Вместо "D:\Test\dima\samp-server.exe" можно написать "%conlogin%\%exf%, но, будет писаться не правильный PID.
|
Отправлено: 21:51, 17-12-2012 | #3 |
Ветеран Сообщения: 1758
|
dima05605, А start_server.txt откуда берется? Может у тебя просто запускается несколько экземпляров samp-server.exe и ты смотришь не тот PID?
|
Отправлено: 22:15, 17-12-2012 | #4 |
Пользователь Сообщения: 66
|
Профиль | Отправить PM | Цитировать start_server.txt появляется по команде, сам же батник проверяет наличие этого файла. Если существует start_server.txt, значит выполнить действие. Вообще все работает, когда появляется этот txt файл, то запускается samp-server.exe, все вроде бы ок, но в файл pid.txt записывается какой-то левый PID
Врядли чтобы запускалось несколько экземпляров, я даже не могу представить как такое может быть? |
|
Отправлено: 22:19, 17-12-2012 | #5 |
Ветеран Сообщения: 1758
|
Цитата dima05605:
Тогда переменные будут жить только в пределах исполнения этого батника. |
|
Отправлено: 22:31, 17-12-2012 | #6 |
Пользователь Сообщения: 66
|
Профиль | Отправить PM | Цитировать setlocal не решил проблему. PID записывается, но не тот, что надо
![]() А ничего что вверху такие вот кракозябры? ![]() |
Отправлено: 22:54, 17-12-2012 | #7 |
Пользователь Сообщения: 66
|
Профиль | Отправить PM | Цитировать И самое интересное это то, что с BAT файлами все ок, PID'ы пишутся правильные и по команде все работает идеально. Вот с ехе не хочет.
|
Отправлено: 23:12, 17-12-2012 | #8 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата dima05605:
|
|
Отправлено: 23:23, 17-12-2012 | #9 |
Ветеран Сообщения: 1758
|
|
Отправлено: 23:23, 17-12-2012 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Cisco - 2600 - не записывается во флеш-память | exo | Сетевое оборудование | 0 | 21-10-2011 17:25 | |
Flash - [решено] криво записывается на флешку | artem2302 | Накопители (SSD, HDD, USB Flash) | 1 | 14-03-2011 15:31 | |
[решено] В элемент Edit записывается только 1978 строк | fak1r | AutoIt | 3 | 26-05-2010 01:10 | |
[решено] не записывается звуковая дорожка в Steinberg Nuendo3 | alfar55 | Видео и аудио: обработка и кодирование | 17 | 29-01-2010 20:16 | |
не записывается лог в Event Viewer | exo | Microsoft Windows NT/2000/2003 | 11 | 29-08-2008 16:04 |
|