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

[文本处理] 大家帮忙看段打包maven项目的批处理代码的错误

  1. set paths=M2\clb2b\service\clb2b-crm,M2\clb2b\facade\intranet
  2. set workspace=D:\DEV\
  3. set tomcat=D:\DEV_TOOLS\apache-tomcat-7.0.56\
  4. set mvnpakPath=D:\
  5. SET returnValue="FALSE"
  6. set /p varInput=inputMessage:
  7. for %%i in (%paths%) do (
  8. echo %%i|find /i %varInput% >nul 2>nul && SET returnValue="TRUE" || SET returnValue="FALSE"
  9. echo %returnValue%
  10. )
复制代码
这段代码我是想把一些maven管理下面的项目,根据输入的项目名,模糊匹配到一个项目地址,然后打包用的,我输入的是crm,结果一直输出的是FALSE。不知道是什么原因,请各位大侠帮忙。

简单处理就是改成:
  1. call echo %%returnValue%%
复制代码
正规的处理方式请学习变量延迟

TOP

回复 2# CrLf


    在你那边可以吗?

TOP

还有个问题,find 的关键词要加双引号:
  1. find /i "%varInput%"
复制代码

TOP

回复 4# CrLf


    加""不行的。

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "paths=M2\clb2b\service\clb2b-crm,M2\clb2b\facade\intranet"
  4. set "workspace=D:\DEV\"
  5. set "tomcat=D:\DEV_TOOLS\apache-tomcat-7.0.56\"
  6. set "mvnpakPath=D:\"
  7. set returnValue="FALSE"
  8. set /p "varInput=inputMessage:"
  9. for %%i in (%paths%) do (
  10. echo %%i | find /i "%varInput%" >nul 2>&1 && set returnValue="TRUE" || set returnValue="FALSE"
  11. echo !returnValue!
  12. )
  13. pause
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表