Board logo

标题: [文本处理] 批处理BAT如何提取路径信息? [打印本页]

作者: change.tsai    时间: 2014-5-9 11:11     标题: 批处理BAT如何提取路径信息?

<item file="E:\TSAI_SVN\trunk\SH50\workspace\点读本\语音文件flash排列顺序\242苹果.mp3" title="242苹果" len="3082"/>
对于以上的样本,路径的深度和格式可能会不同,想利用delims 通过有效的符号来提取出"E:\TSAI_SVN\trunk\SH50\workspace\点读本\语音文件flash排列顺序\242苹果.mp3",但是delims=“ 这样的写法好像是不可以的,请教如何可以提取路径
作者: hu_contact    时间: 2014-5-9 11:34

本帖最后由 hu_contact 于 2014-5-9 11:41 编辑

@echo off&setlocal enabledelayedexpansion
for /f "tokens=2" %%i in (test1.txt) do set "str=%%i"&echo !str:~5!
pause
作者: terse    时间: 2014-5-9 12:11

回复 1# change.tsai
  1. @echo off
  2. for /f tokens^=2delims^=^" %%i in (a.txt) do echo %%i
  3. pause
复制代码

作者: CrLf    时间: 2014-5-9 19:32

%%~a 就可以去掉 %%a 中的引号
从整篇 xml 中提取 file 属性的值,可以这样:
  1. @echo off
  2. for /f "delims=" %%a in (a.xml) do (
  3.    for %%b in (%%a) do (
  4.       set "var=%%~a"
  5.       setlocal enabledelayedexpansion
  6.       if /i !last!==file echo;!var!
  7.       endlocal
  8.       set "last=%%a"
  9.    )
  10. )
  11. pause
复制代码





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