|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Как определить, что FIND выпал с ошибкой Недостаточно памяти |
|
CMD/BAT - Как определить, что FIND выпал с ошибкой Недостаточно памяти
|
Новый участник Сообщения: 26 |
Приветствую.
Есть код, определяющий, запущен ли процесс, и на его основании запускает игру или стим: TaskList /FI "ImageName EQ %steam%">nul | Find /I "%steam%">nul IF %errorLevel% == 0 goto GAME проверка реестра start "" /D ""%SteamPath%"" ""%steam%"" -applaunch 22330 exit :GAME ...код запуска игры Так вот мне надо, чтобы если возникает ошибка о недостатке памяти, повторять проверку, пока она не пройдет. Раза со 2-3 она обрабатывается и дальше все работает. Или может есть какой-то другой способ проверки запущен ли процесс? |
|
Отправлено: 15:32, 15-10-2022 |
Ветеран Сообщения: 2733
|
Профиль | Отправить PM | Цитировать EdMSL, Вы пишите:
Цитата EdMSL:
Но, раз Вы написали для вывода TaskList >nul, то на Find ничего не попадет, и ErrorLevel, выданный Find, будет =1, и Ваш If теряет смысл. Кстати, а почему бы не сделать без явного If: |
|
------- Отправлено: 10:02, 16-10-2022 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 26
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
Цитата megaloman:
И,выходит, ошибку о недостатке памяти никак не отследить? Ибо решения этой проблемы я тоже не нашел. |
||
Последний раз редактировалось EdMSL, 16-10-2022 в 10:55. Отправлено: 10:19, 16-10-2022 | #3 |
Ветеран Сообщения: 2733
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 14:03, 16-10-2022 | #4 |
Новый участник Сообщения: 26
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
В общем, пока FIND будет выдавать ошибку памяти, но завершаться с кодом 0, так и будут проблемы. |
||
Отправлено: 14:42, 16-10-2022 | #5 |
fascinating rhythm Сообщения: 6690
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 15:34, 16-10-2022 | #6 |
Новый участник Сообщения: 26
|
Профиль | Отправить PM | Цитировать Цитата DJ Mogarych:
Я пробовал но результат тот же |
|
Отправлено: 15:43, 16-10-2022 | #7 |
fascinating rhythm Сообщения: 6690
|
Профиль | Отправить PM | Цитировать Идея в том, чтобы выкинуть findstr и работать не со строками, а с объектами.
Цитата EdMSL:
В конце концов, скрипты .ps1 можно скомпилировать в .exe. Но надо менять код целиком, чтобы не заниматься извращениями по скрещиванию в одном скрипте cmd и ps. Напишите, что конкретно должен делать код в случае, если Стим запущен или не запущен. |
|
------- Отправлено: 16:38, 16-10-2022 | #8 |
Новый участник Сообщения: 26
|
Профиль | Отправить PM | Цитировать Цитата DJ Mogarych:
cd .\ set game=Oblivion.exe set steam=steam.exe set SteamPath=0 set From=%cd% set To="%cd%\logs" TaskList /FI "ImageName EQ %steam%" | Find /I "%steam%">nul && goto :GAME For /F "Tokens=2*" %%I In ('Reg Query "HKLM\SOFTWARE\WOW6432Node\Valve\Steam" /V InstallPath') Do Set SteamPath="%%J" IF %SteamPath% == 0 For /F "Tokens=2*" %%I In ('Reg Query "HKCU\SOFTWARE\Valve\Steam" /V SteamPath') Do Set SteamPath="%%J" start "" /D ""%SteamPath%"" ""%steam%"" -applaunch 22330 exit :GAME start /WAIT "" "%game%" IF NOT EXIST %To% (mkdir %To%) FOR /R "%From%" %%f IN (*.log*) DO Move /Y "%%f" %To%>nul Move /Y "%cd%\MessageLog.txt" %To%>nul Move /Y "%cd%\RendererInfo.txt" %To%>nul exit У игры лаунчер запускает этот же батник, где, по идее, должна идти проверка снова, запущен ли стим. И так как он запущен, запускается уже игра Ждем выхода из игры, переносим некоторые файлы в отдельную папку. Все. В идеале нужна проверка, что если ключи реестра не найдены, то делать предупреждение и выход, но я е добрался до этого еще. |
|
Отправлено: 16:57, 16-10-2022 | #9 |
Новый участник Сообщения: 26
|
Профиль | Отправить PM | Цитировать Вопрос не актуален. Написал код для .exe на Паскале.
Однако, если будет у кого-то решение, то выкладывайте, интересно будет взгянуть. |
Отправлено: 06:54, 19-10-2022 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Любой язык - Сканер samsung2070 выдает Недостаточно памяти. Что делать? | Френк | Хочу все знать | 5 | 19-03-2021 22:34 | |
Загрузка - [решено] Не обновляется до 1709: Недостаточно памяти для создания диска в памяти, 0xc0000017 | Sattt | Microsoft Windows 10 | 4 | 15-04-2018 22:45 | |
Разное - [решено] Как отключить уведомление "в системе недостаточно памяти" ? | HarrysFerrarievich | Microsoft Windows 7 | 11 | 09-02-2011 00:21 | |
[решено] как определить какой у мя процессор и тип памяти? | Triz | Хочу все знать | 1 | 07-03-2008 21:55 | |
BSOD - Как с помощью дампа памяти определить драйвер, вызывающий BSOD | Vadikan | Устранение критических ошибок Windows | 0 | 04-11-2007 03:10 |
|