Я просто хочу сказать, что я немного noob в пакетных файлах. Парой приложений является цифровая платформа распространения. Я пытаюсь сделать пакетный файл, который изменит паровую игру. Я выясню, как изменить игру, но приложение «steam» можно установить в любой каталог на любом диске. Я знаю, что в диспетчере задач вы можете щелкнуть правой кнопкой мыши по процессу и щелкнуть по открытому файлу, и он доставит вас туда, где находится приложение. Мне было интересно, если кто-нибудь знает, как это сделать в пакетном файле, а затем включить его в каталог, например,% filelocation% \ content \ contentКак найти каталог исполняемого файла с использованием командного файла
ответ
Исполняемый и путь оба должны быть найдены в определенном месте в реестре пользователей:
@Echo Off
Set "SExe="
Set "SPth="
For /F "Tokens=1,2*" %%A In ('Reg Query HKCU\SOFTWARE\Valve\Steam') Do (
If "%%A" Equ "SteamExe" Set "SExe=%%C"
If "%%A" Equ "SteamPath" Set "SPth=%%C")
If Not Defined SExe Exit/B
Rem Your commands go under here for example
Echo=The full path to the Steam executable is "%SExe%"
If Defined SPth Echo=The Steam folder path is "%SPth%"
Timeout -1 1>Nul
Предполагая, что исполняемый файл Steam называется steam.exe и предполагается, что исполняемый файл находится в каталоге в переменной среды PATH системы вы можете получить местоположение файла с помощью команды where
.
where steam.exe
Теперь вам нужно будет получить выход этой команды в переменную.
for /f "tokens=*" %a in ('where steam.exe') do set filelocation=%a
Теперь, из-за одной из многих, многие причуды в ПАРТИЯ выше for
команда будет работать как есть в окне командной строки, но нужно быть немного изменен для того, чтобы работать в файле сЕРИЙНОГО.
for /f "tokens=*" %%a in ('where steam.exe') do set filelocation=%%a
Примечания Есть два %
символов, предшествующих письмо a
Если steam.exe не на переменной PATH системы, то вам нужно запросить реестр для каталога установки в Steam. Для этого вам нужно будет использовать команду reg
где-то под HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall
p.s. К сожалению, я не могу дать вам более полный ответ прямо сейчас, так как у меня нет машины Windows в данный момент
Если вы за Steam, в частности, вы не можете полагаться на то, что он находится у пользователя PATH, и вы, вероятно, не хотите искать весь диск для него. (В любом случае, вы можете найти неправильный исполняемый файл.)
Вам лучше запросить реестр для их установки Steam.
@echo off
rem this is quick and dirty
reg query HKCU\Software\Valve\Steam /v SteamExe>nul
if errorlevel 1 echo Steam not found for current user & goto :eof
for /f "delims=" %%a in ('reg query HKCU\Software\Valve\Steam /v SteamExe') do set steampath=%%a
steampath=%steampath:~26%
echo %steampath%
Он работает как с 32, так и с 64 версиями Windows.
@echo off
(for /f "usebackq tokens=1,2,*" %%a in (`reg query "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Steam" /v UninstallString`) do set SteamPath32=%%c)>nul 2>&1
(for /f "usebackq tokens=1,2,*" %%a in (`reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Steam" /v UninstallString`) do set SteamPath64=%%c)>nul 2>&1
set SteamPath=%SteamPath64%%SteamPath32%
set SteamPath=%SteamPath:\uninstall.exe=%
echo %SteamPath%
pause>nul
- 1. Запуск командного файла с использованием командного файла
- 2. Получить имя исполняемого командного файла
- 3. копирование файла в каталог фотошоп с использованием командного файла
- 4. Как получить значения из исполняемого командного файла
- 5. Запуск файла python с использованием командного файла
- 6. Разбор txt-файла с использованием командного файла
- 7. Как остановить сохранение командного файла командного файла
- 8. Как найти диск по умолчанию с использованием командного файла
- 9. Как запустить компас с использованием командного файла
- 10. Как найти имя исполняемого файла и тип
- 11. Запуск исполняемого файла с использованием шаблона подстановки
- 12. Какой код позволит мне найти каталог скомпилированного исполняемого файла?
- 13. Изменить каталог на место исполняемого файла
- 14. Рекурсивно найти и удалить папку с использованием командного файла
- 15. Ошибка при поиске последнего файла - это каталог с использованием командного файла
- 16. Установка драйвера с использованием исполняемого файла
- 17. Запуск командного файла из другого командного файла
- 18. найти имя исполняемого файла с помощью программы
- 19. Поле имени исполняемого файла экспорта исполняемого файла
- 20. Как изменить текущий рабочий каталог с помощью командного файла
- 21. Как найти все зависимости для исполняемого файла?
- 22. Как найти местоположение исполняемого файла в C?
- 23. Как найти текущее имя исполняемого файла?
- 24. Как можно найти версию исполняемого файла javadoc?
- 25. Запуск командного файла с использованием createProcess()
- 26. Запуск командного файла удаленно с использованием Hudson
- 27. создать исключение брандмауэра с использованием командного файла
- 28. Запуск сборки grunt с использованием командного файла
- 29. Проверка Subversion (SVN) с использованием командного файла
- 30. История отслеживания с использованием командного файла
Появляется дубликатом вопроса на этом [ссылка] (HTTP: // StackOverflow. com/a/12071458/6738015) – Compo