我只想说我是个批处理文件的新手。应用蒸汽是一个数字化的配电平台。我试着做一个批处理文件来修改蒸汽游戏。我已经知道如何修改游戏,但应用程序‘蒸汽’可以安装在任何驱动器上的任何目录。我知道,在任务管理器中,您可以右键单击一个进程,然后单击打开的文件位置,它将带您到应用程序所在的位置。我想知道是否有人知道如何在批处理文件中这样做,然后将其包含在目录中,如%filelocation%\content\content
发布于 2016-10-09 12:16:42
可执行文件和路径都应该在用户注册中心的特定位置找到:
@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发布于 2016-10-09 05:42:51
假设蒸汽可执行文件名为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前面有两个a字符
如果steam.exe不在系统的PATH变量上,那么您需要查询注册中心的安装目录。要做到这一点,您需要使用reg命令并在HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall下面的某个地方查询
附注:对不起,我现在不能给你一个更完整的答案,因为我现在没有Windows机器
发布于 2016-10-09 07:42:40
如果你是特别追求蒸汽,你不能依赖它在用户的路径,你可能不想搜索它的整个驱动器。(无论如何,您可能会找到错误的可执行文件。)
你最好是查询他们的蒸汽安装注册表。
@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%https://stackoverflow.com/questions/39940343
复制相似问题