0 / 0 / 0
Регистрация: 14.04.2021
Сообщений: 347

Получить путь до .exe и выполнить cmd команду

05.05.2021, 12:30. Показов 5854. Ответов 40
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужный мне .ехе лежит по
D:\MyGames\Warface\Bin64Release\Game.exe
Ну у всех разные пути
путь до D:\MyGames\ .можно получить через
AppData\Local\GameCenter\GameCenter.ini . на скрине пример.
Так вот.нужно получить путь до игры и выполнять команду
Test Game.exe
чтобы из windir Test.exe выполнился вместе с Game.exe
было б хорошо,если ба можно было сохранять этот путь и каждым запуском брать от туда.крч надеюсь поняли,помогите) пожалуйста
Миниатюры
Получить путь до .exe и выполнить cmd команду  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.05.2021, 12:30
Ответы с готовыми решениями:

Запустить cmd.exe и выполнить через него команду
Здравствуйте, нужна помощь. Хочу сделать батник который запускал бы консоль при входе в windows и выполнял одну команду и закрывался. Сразу...

Cmd.exe, как получить ответ консоли на команду?
программа выполняет консольную команду через Process x = Runtime.getRuntime().exec("команда"); как можно получить ответ консоли на...

Выполнить команду в CMD
Здравствуйте! Хочу отправить от сервера сообщение в сети через команду msg * /server: ... дело в том что пока весь сайт тестирую на...

40
0 / 0 / 0
Регистрация: 14.04.2021
Сообщений: 347
07.05.2021, 12:23  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Fors1k Посмотреть сообщение
$url = 'https://cyberstatic.net/images/cyberforum_logo.png'
$ini = "$env:LOCALAPPDATA\GameCenter\GameCenter .ini"
Iwr $url -OutFile ((sls "(?<=GamesInstallPath=).*" $ini).Matches.Value+([Uri]$url).Segments[-1])
о,можешь дать команду ,чтобы из CMD запускать скрытно .ps1
0
㊙️
 Аватар для Fors1k
1316 / 244 / 57
Регистрация: 10.08.2018
Сообщений: 574
07.05.2021, 12:56
Цитата Сообщение от aboba1 Посмотреть сообщение
запускать скрытно .ps1
Вы же уже это спрашивали::
PowerShell
1
2
3
4
5
6
7
8
9
cls;[uri].Assembly.gettype( 'Microsoft.Win32.NativeMethods').getmethod(
'PostMessage').invoke($null, ([Runtime.InteropServices.HandleRef]::new(
$null,(ps -id $pid).MainWindowHandle),0x0112,[intptr]0xF020,[intptr]0))
.{
    $url = 'https://cyberstatic.net/images/cyberforum_logo.png'
    $ini = "$env:LOCALAPPDATA\GameCenter\GameCenter.ini"
}
 
Iwr $url -OutFile ((sls "(?<=GamesInstallPath=).*" $ini).Matches.Value+([Uri]$url).Segments[-1])
Сокрытие окна делают первые три строки
0
0 / 0 / 0
Регистрация: 14.04.2021
Сообщений: 347
07.05.2021, 20:07  [ТС]
Так а через cmd ,как его запускать?
0
㊙️
 Аватар для Fors1k
1316 / 244 / 57
Регистрация: 10.08.2018
Сообщений: 574
07.05.2021, 21:17
aboba1, а cmd здесь и не нужен, можете запускать просто файл .ps1.

Не по теме:

И, вообще, cmd забыт с 2000 года, и заменен на powershell. Говоря простым языком, powershell - это и есть cmd(командная строка), только который теперь может решить любую вашу задачу без всяких примочек, заморочек, утилит, и т.д. .
Так что, чтобы не тратить время на кучу попыток решения задачи через всякие костыли и доп. программки, вам будет проще обращаться сразу сюда. И вашу задачу сможет выполнять один скрипт, вместо десятка разных батников, работающих через кучу разных приблуд.

А если хотите запускать этот скрипт именно из командной строки, то запустите powershell.exe, и просто вставьте путь к скрипту: C:\files\qwe.ps1, нажмите ввод.

0
7690 / 2887 / 1110
Регистрация: 06.06.2017
Сообщений: 9,816
07.05.2021, 22:38
Fors1k, забавно видеть тег OFF с учётом остальных OFF. )

cmd будет забыт тогда и только тогда, когда о нём перестанут спрашивать, а пока, как видим, он пользуется тут наибольшей популярностью. А что касается "не нужен", то с учётом "Ну у всех разные пути" никто не отменит сего факта. Так что таки нужен, как и любой по дефолту незапрещённый интерпретатор. И уже точно есть куча кастомных задач, которые ps в нужном виде (а вид и затраченное время вызова — нередко тоже часть условий) не выполнит.
0
08.05.2021, 01:39

Не по теме:

Цитата Сообщение от FlasherX Посмотреть сообщение
cmd будет забыт тогда и только тогда, когда о нём перестанут спрашивать, а пока, как видим, он пользуется тут наибольшей популярностью.
Майкрософтом и людьми, которые не вчера озадачились автоматизацией/администрированием чего-либо, забыт давно.
Если тот или иной новичок не в курсе о реальном положении дел, то это не его вина. На то он и новичок. Вот и спрашивает про cmd.
Так что это не повод заставлять человека добывать огонь дощечкой и соломой, стоя рядом с зажигалкой в кармане.
Цитата Сообщение от FlasherX Посмотреть сообщение
никто не отменит "Выполнение сценариев отключено в этой системе"
Так включите. Инструкция никуда не спрятана.
Я, когда утром подхожу к компу, вижу, что он тоже выключен. Приходится включать. Недоработка конечно...
А, у меня, кстати, с айфоном была такая же проблема. Купил, вытащил из коробки, а он выключен.
Я уж было запаниковал, но все обошлось. Помог лайф-хак "включить".
Цитата Сообщение от FlasherX Посмотреть сообщение
И уже точно есть куча кастомных задач, которые ps в нужном виде (а вид и затраченное время вызова — нередко тоже часть условий) не выполнит.
Куча задач, которые ps не выполнит? Что-то ни разу не видел такого:
-Задача "такая-то"...
-Хм, это очень сложная задача, ps с таким не справится
-Как быть?
-Вот код на cmd. Только он сможет.

Да, пообщаться с вами бывает весьма забавно))

И если насчет конкретно этого топика, а мои слова, полагаю, для вас не сильно значимы, вот пояснения от Мастер Computer Science:
Цитата Сообщение от Garry Galler Посмотреть сообщение
батники качать ничего не умеют

0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
08.05.2021, 05:23
Цитата Сообщение от Fors1k Посмотреть сообщение
Что-то ни разу не видел такого
вероятно смысл в другом, не в том что не выполнит, а что некоторые вещи сделать можно не так очевидно как в cmd, хотя я это говорю с позиции большего опыта в последнем
вот например код в cmd
Windows Batch file
1
2
3
4
5
6
7
@echo off
set "x=a"
set "y%x%=b"
 
echo %ya%
call echo %%y%x%%%
pause
примечательна здесь строка: call echo %%y%x%%%, где выводится результат составной переменной когда она в неопределенном виде и именно в таком виде нередко бывает надо ее получить или она получается. Подобное и на powershell мне попадалось и приходилось это обходить, хотя может я просто не знаю как это сделать. как вот тут вывести таким же образом
PowerShell
1
2
3
4
5
$x = 'a'
sv y$x 'b'
 
$ya
...?
сейчас мгновенно не вспомню, может позже, но достаточно находилось моментов которые я мог решить на cmd, но не мог в той же точности (только существенно обойти и далеко не простым и/или очевидным путем) решить на powershell даже гугля несколько часов.
0
7690 / 2887 / 1110
Регистрация: 06.06.2017
Сообщений: 9,816
08.05.2021, 11:04
Цитата Сообщение от Fors1k Посмотреть сообщение
Майкрософтом и людьми, которые не вчера озадачились автоматизацией/администрированием чего-либо, забыт давно.
Про Майкрософт никто не писал. Какие-то люди забыли, не сомневаюсь, а какие-то из тех же групп — нет, и причин тому несколько.

Цитата Сообщение от Fors1k Посмотреть сообщение
Так включите. Инструкция никуда не спрятана.
Это кому адресовано? В контексте была важная фраза в кавычках, которую очень трудно было не заметить. Т. е. с советом мимо. А инструкция (и не одна) прямо по моей ссылке никуда и не пряталась.

Цитата Сообщение от Fors1k Посмотреть сообщение
Так что это не повод заставлять человека добывать огонь дощечкой и соломой, стоя рядом с зажигалкой в кармане.
Ах если б всё было так однозначно, но жизнь куда сложнее дощечек и зажигалок.

Цитата Сообщение от Fors1k Посмотреть сообщение
Что-то ни разу не видел такого:
И я таких глупостей тоже не видел. Что это меняет в правоте моего тезиса? Вообще ничего.

Цитата Сообщение от Fors1k Посмотреть сообщение
Да, пообщаться с вами бывает весьма забавно))
Ага, какое поле для собственных фантазий возникает, правда? И почему вдруг с "вами", ведь ещё в предыдущем разговоре от "вы" и след простыл?

Цитата Сообщение от Fors1k Посмотреть сообщение
а мои слова, полагаю, для вас не сильно значимы
Для меня значимы лишь те слова, что соответствуют здравой логике. Если я вижу пробелы в ней, то могу среагировать, как сейчас. Авторство и чужие авторитеты в аргументации меня интересуют в последнюю очередь.
Если копнуть глубже, то что батники, что любые иные сценарии/скрипты - это просто файлы с кодом, которые сами по себе ничего не сделают, пока их не считает соотв. интерпретатор, у которого, к слову, тоже куча зависимостей. А качать что-то можно вспомогательными утилитами. Без встроенных утилит прикладной сценарный синтаксис чаще так же гол и бесполезен, как ps без .NET-модулей.
0
㊙️
 Аватар для Fors1k
1316 / 244 / 57
Регистрация: 10.08.2018
Сообщений: 574
08.05.2021, 12:33
Цитата Сообщение от alpap Посмотреть сообщение
как вот тут вывести таким же образом
PowerShell
1
2
3
4
5
6
cls
$x = 'a'
sv y$x 'b'
 
$ya
gv -v y$x
Вообще я не видел чтобы так конструировали имена переменных в ps))
Покажи реальную задачу, где такое приходилось делать. Думаю можно будет без такого обойтись)
1
Любознательный
 Аватар для YuS_2
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
08.05.2021, 13:27
Цитата Сообщение от alpap Посмотреть сообщение
вот например код в cmd
Цитата Сообщение от alpap Посмотреть сообщение
как вот тут вывести таким же образом
Так:
PowerShell
1
2
3
$x = 'a'
sv $("y$x") 'b'
$ya
0
㊙️
 Аватар для Fors1k
1316 / 244 / 57
Регистрация: 10.08.2018
Сообщений: 574
08.05.2021, 13:38
Цитата Сообщение от YuS_2 Посмотреть сообщение
Так:
С sv у alpap проблем не было)
Он хотел получить y$x(как $ya).
0
Любознательный
 Аватар для YuS_2
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
08.05.2021, 18:51
Цитата Сообщение от Fors1k Посмотреть сообщение
Он хотел получить y$x(как $ya).
А, ну значит я недопонял и... видимо, всё ещё до сих пор не понял, что именно требуется...
Запустил код в cmd:
[D:\]
> @echo off
set "x=a"
set "y%x%=b"
echo %ya%
b
call echo %y%x%%
b
pause
Для продолжения нажмите любую клавишу . . .
Какую строку надо получить?
Двойное раскрытие переменных, с помощью call? Так в powershell подобное, в принципе, не требуется... во всяком случае, не помню такой задачи, в которой это понадобилось бы...

PS
а, да, совсем забыл... если очень хочется, то можно и так:
PowerShell
1
iex $("`$y$x")
1
0 / 0 / 0
Регистрация: 14.04.2021
Сообщений: 347
08.05.2021, 19:41  [ТС]
Цитата Сообщение от Fors1k Посмотреть сообщение
батники качать ничего не умеют
Code
1
2
powershell -Command "(New-Object Net.WebClient).DownloadFile('http://cfqn/key', 'log.reg')"
pause
Эт я в бат вводил ,работал
0
0 / 0 / 0
Регистрация: 14.04.2021
Сообщений: 347
08.05.2021, 20:39  [ТС]
Цитата Сообщение от Fors1k Посмотреть сообщение
а cmd здесь и не нужен, можете запускать просто файл .ps1.
Через конструктор не работает и бат
Миниатюры
Получить путь до .exe и выполнить cmd команду  
0
㊙️
 Аватар для Fors1k
1316 / 244 / 57
Регистрация: 10.08.2018
Сообщений: 574
08.05.2021, 21:23


или

1
0 / 0 / 0
Регистрация: 14.04.2021
Сообщений: 347
08.05.2021, 23:05  [ТС]
Вот кому надо
Code
1
%SystemRoot%\System32\WindowsPowerShell\v1.0\PowerShell.exe -ExecutionPolicy ByPass -command ". c:\1.ps1"
ЗАпуск с бата .спасибо всем!
Для того,чтобы у всех совпадал путь С диска,вводите \1.ps1 .а не C:\
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
09.05.2021, 00:59
Цитата Сообщение от Fors1k Посмотреть сообщение
Покажи реальную задачу, где такое приходилось делать
Цитата Сообщение от YuS_2 Посмотреть сообщение
не помню такой задачи, в которой это понадобилось бы
я уже и сам не помню, но что голову ломал долго это факт, ну что-то типа такого вроде, но понятно что сложнее и запутаннее (ну и тем более без предложенных-то вариантов):
PowerShell
1
2
3
4
5
6
7
8
$x = Get-Date -f 'ss'
$a = 'i', 'j', 'k'
 
foreach ($y in $a) {
  sv y$x $y$x
  # gv -v y$x
  iex $("`$y$x")
}
0
Любознательный
 Аватар для YuS_2
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
09.05.2021, 08:15
Цитата Сообщение от alpap Посмотреть сообщение
ну что-то типа такого вроде
такое в powershell, надо делать так:
PowerShell
1
2
3
4
5
$x = Get-Date -f 'ss'
$a = 'i', 'j', 'k'
foreach ($y in $a){
    $y + $x
}
- т.е. результат будет аналогичным и с тем же типом данных на выходе...
Вообще, в powershell, переменная - это нечто большее, чем просто переменная. С работающим автоматическим приведением данных, на выходе выражения может оказаться как массив/коллекция, так и скаляр, причем с другим типом данных, который был задуман изначально и это надо учитывать при составлении кода. Но там есть ещё и другие нюансы...
Например, тип данных "строка":
Code
1
2
3
4
"строка".gettype()
IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     String                                   System.Object
при записи в переменную, может считаться скаляром:
Code
1
2
3
$a = "строка"
$a.count
1
т.е. простой переменной с единственным значением. Но если проверить свойство Length, которое в массивах будет равным Count и является показателем количества элементов, то окажется, что это набор символов и это свойство будет показателем их количества в строке:
Code
1
2
$a.length
6
в общем, не совсем так уж просто там всё устроено и подводные камни есть, которые в процессе изучения, необходимо запоминать и учитывать...
1
0 / 0 / 0
Регистрация: 14.04.2021
Сообщений: 347
09.05.2021, 12:04  [ТС]
Цитата Сообщение от Fors1k Посмотреть сообщение
$url = 'https://cyberstatic.net/images/cyberforum_logo.png'
    $ini = "$env:LOCALAPPDATA\GameCenter\GameCenter .ini"
А как добавить к полученному пути такой -Warface\Bin64Release он до D:\MyGames качает просто
и можно ли скачать с названием .который я установлю .когда качаю,через тот же VK.название файла бывает как ссылка.

Добавлено через 1 час 2 минуты
и можно ли удалять скрипт,после выполнения )?
0
Эксперт Python
5439 / 3860 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
09.05.2021, 13:19
Цитата Сообщение от aboba1 Посмотреть сообщение
Эт я в бат вводил ,работал
В данном случае батник выступает просто делегатом, а cmd - оболочкой: всю работу все равно выполняет powershell и C# код.
Так что не надо это путать. Батники (если понимать под этим набор поддерживаемых cmd команд и синтаксических конструкций) это только команды del\move\copy\dir\cd\echo и еще с десяток встроенных в интерпретатор cmd, цикл for, несколько простых операторов... и все.
Есть такая штука как nircmd - сторонняя утилита с кучей функционала. И мы ее тоже запускаем из батников, но функционал то предоставляет она, а не batch.

-------------------

Не по теме:

cmd как верно заметили выше, давно морально устарел, и сейчас его базовое назначение это быть просто оболочкой для запуска сторонних программ. Хотя, конечно, нельзя отрицать, что он все еще нужен - как ни парадоксально, самой microsoft: они не хотят (не могут) ничего добавлять в cmd, чтобы не сломать .... систему сборки\компиляции самой windows. А это десятки тысяч батников, написанных за годы существования ОС.
Обратная совместимость - священная корова microsoft :-)

Cmd has served us all well for almost 30 years now, and will continue to do so for a long time to come. But, WHILE CMD IS NOT BEING REMOVED FROM WINDOWS ANYTIME SOON (if ever), the reality is that PowerShell is a far, FAR more powerful shell than Cmd could ever be. Hence PowerShell’s name. Surprise!

We’ve gotten to the point with Cmd that we can no longer easily make improvements, enhancements or modifications to it! On the very rare occasions where we do make a fix, or change something, we generally break someone in the real world whose scripts/tools depend on that legacy feature/behavior. The last thing we want to do is break the Windows build system



Цитата Сообщение от aboba1 Посмотреть сообщение
А как добавить к полученному пути такой -Warface\Bin64Release он до D:\MyGames качает просто
Я же тебе уже показывал пример конкатенации путей.
Windows Batch file
1
set "binpath=%GamesInstallPath%Warface\Bin64Release"
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.05.2021, 13:19

Выполнить команду в CMD
Сейчас полностью переписал свою программку с C# на делфи. Столкнулся с проблемой, надо выполнить через командную строку очистку куки,...

Выполнить команду в cmd
Уважаемые знатоки =))) у меня беда: мне нужно выполнить команду в cmd ProcessStartInfo psi = new ProcessStartInfo(); ...

Как выполнить CMD команду?
Искал ответ, но ничего не нашёл.

Программно выполнить cmd команду
Всем привет! Скажите как можно выполнить cmd команду в С#. вот Я знаю что в Java есть GetRuntime().exec(команда). А вот в С# могу...

Как выполнить команду cmd
как на c++ выполнить команду cmd?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

Новые блоги и статьи
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru