Board logo

标题: [文本处理] 批处理命令for循环中delims如何用双引号做分隔符? [打印本页]

作者: pccyc    时间: 2012-4-18 12:48     标题: 批处理命令for循环中delims如何用双引号做分隔符?

例如 for /f "delims="  tokens=X,X",  我想用"作为delims="做为条件,但系统不允许我这么操作,请问各位朋友如何处理??
另外我想从如下列文本中的代码

! REG.EXE VERSION 3.0

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Devices
    ANPRT on 10.100.2.36#:4        REG_SZ        winspool,TPVM:
    Microsoft XPS Document Writer        REG_SZ        winspool,Ne00:
    \\printserver\ANPRT        REG_SZ        winspool,Ne01:

变成如下如下

ANPRT on 10.100.2.36#:4 , winspool,TPVM:
Microsoft XPS Document Writer , winspool,Ne00:
\\printserver\ANPRT        , winspool,Ne01:

请问代码怎么写??
作者: apang    时间: 2012-4-18 13:16

  1. for /f tokens^=1^,2^ delims^=^" %%a in (a.txt) do echo %%a %%b
  2. pause
复制代码

作者: pccyc    时间: 2012-4-18 14:52

回复 2# apang


    你好,非常感谢,果真如此,但为什么没有哪个教材上面提到这方面问题?能否告诉我您在哪里学到此方法的,十分谢谢.
作者: gawk    时间: 2012-4-18 16:40

回复 3# pccyc


    只有多泡论坛才能学到这种书上没有的武林秘籍
作者: apang    时间: 2012-4-18 18:58

本帖最后由 apang 于 2012-4-18 19:08 编辑

在此帖学到的:http://bbs.bathome.net/viewthread.php?tid=12500

试试下面的代码:
  1. @echo off
  2. for /f "skip=3 tokens=*" %%a in ('type a.txt') do (
  3.   set "str=%%a"
  4.   call echo %%str:        REG_SZ        =,%%
  5. )
  6. pause
复制代码

作者: 狗屁不通    时间: 2012-8-26 21:43

这个武林秘籍我终于终于终于淘到了
作者: sunhangmail    时间: 2013-6-21 18:12

二楼人才啊,这个问题困扰我很久,用来提取网页源代码中的附件路径。




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