[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[注册表类] 批处理命令find查找长字符找不到结果

大家好,我修改了网上的一个批处理文件,先判断系统变量中有没有python,如果没有就添加,但是echo %PathAll_%| find /i "%Path_%"这一句总是出问题,但是如果我把Path_=C:\Program Files (x86)\Python37-32\Scripts\;C:\Program Files (x86)\Python37-32\; 改成Path_=C:\Program Files (x86)\Python37-32\Scripts\就没有问题,请问,问题出在什么地方?
  1. @echo off   
  2. @set Path_=C:\Program Files (x86)\Python37-32\Scripts\;C:\Program Files (x86)\Python37-32\;   
  3. for,/f,"tokens=1,2,*",%%a,in,('reg query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v Path'),do,(@set PathAll_=%%c)   
  4. echo %PathAll_%| find /i "%Path_%" && set IsNull=true|| set IsNull=false
  5. echo %IsNull%
  6. if not %IsNull%==true (
  7. reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v Path /t REG_EXPAND_SZ /d "%PathAll_%;%Path_%" /f    )
  8. pause
复制代码

回复 2# newswan
下面是PathAll_的内容
C:\Program Files (x86)\Python37-32\Scripts\;C:\Program Files (x86)\Python37-32\;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files (x86)\dotnet\
单独查找C:\Program Files (x86)\Python37-32\Scripts\没有问题,单独查找C:\Program Files (x86)\Python37-32\也没有问题,但是查找C:\Program Files (x86)\Python37-32\Scripts\;C:\Program Files (x86)\Python37-32\;结果就不正确。

TOP

返回列表