Board logo

标题: [文本处理] 求助 如何用批处理命令识别出目标文件夹下已经是否已经存在某个路径 [打印本页]

作者: saogz    时间: 2012-12-27 14:41     标题: 求助 如何用批处理命令识别出目标文件夹下已经是否已经存在某个路径

本帖最后由 saogz 于 2012-12-27 14:43 编辑

各位好!
     求助 如何用批处理命令识别出目标文件夹下已经是否已经存在某个路径
   例如:想查一下 D:\LT_BSS\HB\20120615_0613\Billing\ 目录下  BSS4.2\billing\core_hb\src\rate\base 这条路径是否存在,并导出实际已经匹配到哪一层
   如果 D:\LT_BSS\HB\20120615_0613\Billing\ 只到 BSS4.2\billing\core_hb 而后面的路径还不存在 那就告诉我只匹配到D:\LT_BSS\HB\20120615_0613\Billing\BSS4.2\billing\core_hb
     跪求请各位帮忙!
作者: batman    时间: 2012-12-27 22:28

本帖最后由 batman 于 2012-12-27 22:31 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. set "homepath=D:\LT_BSS\HB\20120615_0613\Billing"
  3. set "subpath=BSS4.2\billing\core_hb\src\rate\base"
  4. set "subpath=%subpath: =$@#%"
  5. for %%a in (%subpath:\= %) do (
  6.   set "str=%%a"
  7.   if exist "!homepath!\!str:$@#= !" (
  8.     set "homepath=!homepath!\!str:$@#= !"
  9.     ) else (
  10.     goto next
  11.   )
  12. )
  13. :next
  14. echo 匹配路径至%homepath%
  15. pause>nul
复制代码

作者: terse    时间: 2012-12-28 01:37

暂不支持 特殊字符
  1. @echo off&setlocal enabledelayedexpansion
  2. set "ph1=D:\LT_BSS\HB\20120615_0613\Billing"
  3. set "ph2=BSS4.2\billing\core_hb\src\rate\base"
  4. for %%i in ("!ph2:\=" "!") do if exist "!ph1!\%%~i\" set "ph1=!ph1!\%%~i"
  5. echo 匹配至: %ph1%
  6. pause
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2