我的批处理文件我想检查是否设置了以下位置的路径
C:\Program Files(x86)\Windows Installer XML v3.5\bin
在系统变量或用户定义变量
中的任何变量中我需要使用bin文件夹的内容;如果用户没有按照上面引用的方式安装但是已经完成了类似
的操作C:\WindowsinstallerXML\bin
或 d:\ WindowsInstaller \ BIN
答案 0 :(得分:2)
如果要检查字符串的每个已定义变量,这就是方法。如果您想要专门检查路径变量,将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
答案 1 :(得分:0)
您可以使用:
PATH="C:\Program Files(x86)\Windows Installer XML v3.5\bin";%PATH%
基本上,不是要检查它是否已设置,为什么不在脚本中明确设置?
答案 2 :(得分:0)
@echo off
set input=%1
IF DEFINED input (ECHO you entered %input%) ELSE (ECHO usage: script bin_file_path)
答案 3 :(得分:0)
如果您知道其中一个二进制文件的名称,则可以使用FOR变量~PATH:
修饰符来检查该二进制文件的路径当前是否在PATH中。它会给你实际的路径:))
for %F in (someFile.exe) do @if "%~$path:F" neq "" echo %~$path:F
如果要在批处理文件中使用代码,则每个%
必须加倍%%
。