Показать полную графическую версию : [решено] Параметр запуска
Всем привет!
Такой вопрос:
запущено определённое приложение, с определённым параметром, который можно узнать/сохранить через:
wmic process where name="MiniStudio.exe" get commandline > C:\info.txt
При этом, файл info.txt, сохраняется в кодировке Unicode (UCS-2 little endian).
Можно ли как-то изменить кодировку сохранения этого файла? Требуется Windows-1251 (ANSI).
Или другой вариант:
возможно ли перезапустить приложение, с узнанным параметром, одним батником?
То есть сначала узнаётся с каким параметром запущен процесс, потом закрывает его и снова запускает с тем же параметром (в параметре могут быть пробелы).
Можно ли как-то изменить кодировку сохранения этого файла? Требуется Windows-1251 (ANSI). »
Пропустите вывод «wmic.exe» через пустой фильтр:
>"c:\info.txt" (wmic.exe Process where "name='MiniStudio.exe'" get CommandLine|find.exe /v "")
Или другой вариант:
возможно ли перезапустить приложение, с узнанным параметром, одним батником?
То есть сначала узнаётся с каким параметром запущен процесс, потом закрывает его и снова запускает с тем же параметром (в параметре могут быть пробелы). »
Объясните смысл сего действа.
За первый вариант - спасибо! Работает. Строка получается:
CommandLine "C:\SetPower\Studio\MiniStudio.exe"
нельзя ли оттуда вырезать начало: CommandLine с пробелами, чтобы строка начиналась с "C:\ ..... ?
Объясните смысл сего действа.
Образно говоря так:
программа "A" - это некое меню с выбором разных программ.
При выборе программы, запускается программа "B", которая проверяет наличие обновлений для запущенной, выбранной программы и одновременно запускает её, например это программа "С". Но запускает её с ключом, который генерируется на сервере и он переодически меняется (проверка лицензии). Если после этого закрыть диспетчером "А" или "B", то и основная прога "С" тоже закрывается.
Если посмотреть командную строку запуска, то можно всё закрыть и запустить программу "С" с присвоенным ей параметром, без первых двух.
Комп весьма слабый и с этим деревом А+B+C всё тормозит. Если запустить просто "С", то тормозов нет, но без параметра-ключа не запустить.
Надеюсь, что понял. Смутно, но понял.
Полагаю, Вам будет гоже нечто подобное (в примере я использовал «notepad.exe» в качестве процесса):
@echo off
setlocal enableextensions enabledelayedexpansion
for /f "usebackq delims=" %%i in (
`wmic.exe Process where "name='notepad.exe'" get CommandLine /value ^| find.exe /i "CommandLine"`
) do set "s%%i"
if defined sCommandLine echo Command line: [%sCommandLine%]
endlocal
exit /b 0
Iska, огромное спасибо! Всё работает как надо :good:
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.