批处理文件 - 如何设置bin文件夹的路径是否已设置

时间:2012-12-26 12:46:57

标签: windows batch-file dos

我的批处理文件我想检查是否设置了以下位置的路径

 C:\Program Files(x86)\Windows Installer XML v3.5\bin

在系统变量或用户定义变量

中的任何变量中

我需要使用bin文件夹的内容;如果用户没有按照上面引用的方式安装但是已经完成了类似

的操作
C:\WindowsinstallerXML\bin

或      d:\ WindowsInstaller \ BIN

4 个答案:

答案 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

如果要在批处理文件中使用代码,则每个%必须加倍%%