Board logo

标题: [文本处理] [已解决]如何用批处理排版处理下列文本内容? [打印本页]

作者: batpro    时间: 2011-6-15 09:35     标题: [已解决]如何用批处理排版处理下列文本内容?

本帖最后由 batpro 于 2011-6-15 16:04 编辑

1.txt中
  1. C:\Program Files\Common Files\Services\svchost.exe
  2. c:\windows\csrss.exe
  3. C:\Documents and Settings\z\vgwul
  4. C:\DOCUME~1\z\LOCALS~1\Temp\~kgjth.tmp
  5. C:\DOCUME~1\z\LOCALS~1\Temp\~sgnah.tmp
  6. C:\DOCUME~1\z\LOCALS~1\Temp\~vudqs.tmp
复制代码
要求生成
2.txt:
  1. [DelFile]
  2. File=C:\Program Files\Common Files\Services\svchost.exe,c:\windows\csrss.exe,C:\Documents and Settings\z\vgwul,C:\DOCUME~1\z\LOCALS~1\Temp\~kgjth.tmp,C:\DOCUME~1\z\LOCALS~1\Temp\~sgnah.tmp,C:\DOCUME~1\z\LOCALS~1\Temp\~vudqs.tmp
复制代码
先谢谢   大大们~~
作者: 601997526    时间: 2011-6-15 10:46

你们这些人还真是麻烦,提个问题还不把问题描述清楚,还得要回答者来猜你到底是想问什么,既然这样我也回你一个,你把2.txt里的每行前加个echo不就都能看到了
作者: 601997526    时间: 2011-6-15 10:52

刚看了下,楼主的意思是想要合并每一行是吧
  1. @echo off
  2. echo,[DelFile]>2.txt
  3. set/p=File=<nul>>2.txt
  4. (for /f "delims=" %%i in (1.txt) do set/p=%%i,<nul)>>2.txt
复制代码

作者: mxxcgzxxx    时间: 2011-6-15 10:52

本帖最后由 mxxcgzxxx 于 2011-6-15 11:03 编辑

可以开变量延时使用FOR /F 加重定向输出
  1. @echo off&setlocal enabledelayedexpansion
  2. echo [Delfile]>2.txt
  3. set "a=File="
  4. for /f "tokens=*" %%1 in (1.txt) do set "a=!a!%%1;"  
  5. echo !a!>>2.txt      
复制代码
但文字数量如果超过3000多(记不清了)就不行了
楼上的想法倒没有这个问题
作者: batpro    时间: 2011-6-15 16:02

4# mxxcgzxxx


非常感谢,不过你把“,”看成了";"了

很好的代码 学习了
作者: batpro    时间: 2011-6-15 16:03

本帖最后由 batpro 于 2011-6-15 16:06 编辑

3# 601997526


perfect




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