我的批处理文件我想检查是否设置了以下位置的路径
C:\Program Files(x86)\Windows Installer XML v3.5\bin
在系统变量或用户定义变量中的任何变量中
我需要使用 bin 文件夹的内容;如果用户没有安装上面引用的方式但做了类似的事情怎么办
C:\WindowsinstallerXML\bin
或 D:\WindowsInstaller\bin
我的批处理文件我想检查是否设置了以下位置的路径
C:\Program Files(x86)\Windows Installer XML v3.5\bin
在系统变量或用户定义变量中的任何变量中
我需要使用 bin 文件夹的内容;如果用户没有安装上面引用的方式但做了类似的事情怎么办
C:\WindowsinstallerXML\bin
或 D:\WindowsInstaller\bin
如果您想检查字符串的每个已定义变量,这就是方法。如果您想专门检查替换为的路径变量set
也echo %path%
可以。
set | find "C:\Program Files(x86)\Windows Installer XML v3.5\bin" > NUL 2>&1 || goto badinstall
如果你想检查安装目录,我建议检查它是否有注册表值,如果有你可以像这样拉它。
for /f "tokens=3 delims= " %%a in ('reg query \HKCU\path\to\subkey\here /v "keyhere" ^| findstr /C:"keyhere"') do set wixmlpath=%%a
您可以使用:
PATH="C:\Program Files(x86)\Windows Installer XML v3.5\bin";%PATH%
基本上,与其检查是否已设置,为什么不在脚本中明确设置?
如果您知道其中一个二进制文件的名称,则可以使用 FOR 变量~PATH:
修饰符来检查该二进制文件的路径当前是否在您的 PATH 中。它会给你实际的路径:)
for %F in (someFile.exe) do @if "%~$path:F" neq "" echo %~$path:F
如果要在批处理文件中使用代码,则%
必须将每个代码加倍为%%
.
@echo off
set input=%1
IF DEFINED input (ECHO you entered %input%) ELSE (ECHO usage: script bin_file_path)