我一直在努力研究现在非常长的剧本。我需要做的是找到给定软件的安装目录。我正在使用
for /f "tokens=2*" %%a in ('REG Query "HKEY_CLASSES_ROOT\TypeLib\{1779292D-1DAD-47E3-9404-8B32455264C2}\8.1e\HELPDIR" /ve 2^>nul') do set "ExeLoc=%%~b"
这个问题是它只适用于最新版本的软件。有没有办法检查应用程序的程序和功能,然后获取目录并将其设置为“ExeLoc”?有没有办法做到这一点,而不是太具体?例如,假设“程序”是应用程序名称,但在程序和功能中,它可能显示为“程序”或“程序客户端”或“程序版本X.Y”或“程序客户端版本X.Y”。有没有办法搜索“Starts with Program”然后从那里抓住路径?
如果您需要我提供更多信息,请与我们联系。
哦,这需要在批处理文件中,不需要安装任何其他API或其他脚本,因为它需要能够在任何机器上运行,并且我们不允许在其上安装其他软件机等。
答案 0 :(得分:0)
以下是 Where
命令的帮助
尝试使用命令 Where.exe 作为字符串输入接受通配符的批处理:
@echo off
Mode con cols=90 lines=15
set Location=C:\Program files
Set FileName=Program*
Set Tmp=Tmp.txt
Set SearchResult=SearchResult.txt
echo( & cls
echo( & echo Please Wait for moment .... Searching for "%FileName%" on "%Location%"
where /r "%Location%" "%FileName%" > %Tmp%
Cmd /U /C Type %Tmp% > %SearchResult%
Del %Tmp%
Start %SearchResult%