Board logo

标题: [文本处理] [已解决]两文件对应行取值的批处理特殊符号的提取 [打印本页]

作者: hucuibai    时间: 2011-5-12 14:38     标题: [已解决]两文件对应行取值的批处理特殊符号的提取

[attach]3801[/attach][attach]3802[/attach]

我的代码
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=1-5 delims=: " %%a in ('findstr /n .* temp.txt') do set _%%a=%%b,"%%c",%%d,%%e
  3. for /f "tokens=1-3 delims=: " %%a in ('findstr /n .* temp1.txt') do echo ^(!_%%a!,%%c^),>456.sql
  4. pause
复制代码
temp的内容第一行内容(我只取的其中一行,文件本身有很多行):4297641018        为我独尊天下:-        2739169        1
temp1的内容第一行内容(我只取的其中一行,文件本身有很多行):4297641018        41
但是取出来的结果却是:(4297641018,"为我独尊天下",-,2739169,41),
不知所以
作者: hucuibai    时间: 2011-5-12 14:40

哦 知道了,分隔符
作者: hucuibai    时间: 2011-5-12 14:40

请问哪位高人还有别的办法没有
作者: batman    时间: 2011-5-12 14:51

多用一层for循环:
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=1* delims=:" %%a in ('findstr /n .* temp.txt') do (
  3.      for /f "tokens=1-4" %%c in ("%%b") do set "_%%a=%%c,"%%d",%%e,%%f"
  4. )
  5. (for /f "tokens=1-2 delims=:tab" %%a in ('findstr /n .* temp1.txt')  do echo ^(!_%%a!,%%b^),)>456.sql
复制代码

作者: hucuibai    时间: 2011-5-12 15:37

4# batman


哈哈,非常感谢!




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