[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 如何用批处理代码实现每二行存一个文件并把第一行存为该文件名?

韩剧_情定大饭店_中字全集.rar
http://www.t00y.com/file/8225530
韩剧_汉城别曲.rar
http://www.t00y.com/file/8225531
韩剧_玻璃鞋.rar
http://www.t00y.com/file/8224973
韩剧_白色巨塔.rar
http://www.t00y.com/file/8225557
韩剧_饼干老师星星糖+OST_中字全集.rar
http://www.t00y.com/file/8224955
韩剧_首尔武林传.rar
http://www.t00y.com/file/8224956
韩剧_香港特急_中字全集.rar
http://www.t00y.com/file/8224957
韩剧_鬣狗.rar
http://www.t00y.com/file/8224958
韩剧_鬼迷_中字全集.rar
http://www.t00y.com/file/8224959
韩剧_魂.rar
http://www.t00y.com/file/8224960
韩剧_魔女幼熙.rar
http://www.t00y.com/file/8224961
韩剧_魔术_中字全集.rar
http://www.t00y.com/file/8224962
韩剧_魔王.rar
http://www.t00y.com/file/8224963

  1. @echo off
  2. for /f "delims=" %%a in (test.txt) do (
  3.   set "str=%%a"
  4.   set/a num+=1,row=num%%2
  5.   setlocal enabledelayedexpansion
  6.   if !row! equ 1 set "file=!str!"
  7.   echo !str!>>!file!
  8.   endlocal
  9. )
复制代码
看得多说得多,远比不上写得多。

TOP

回复 2# weichenxiehou


    老大感谢您的回复 首先没有存成TXT文件 其次存入的文件中也没有那行地址内容而只有第一行名字 仰望老大再修改一下 谢谢

TOP

回复 3# YYEnigma


    弄不懂了,你的TXT没生成,那你的资料从哪来?
享受批处理的神奇!!!

TOP

本帖最后由 weichenxiehou 于 2012-12-6 22:50 编辑

回复 3# YYEnigma
之前没说要生成txt啊。。。
  1. 发现问题,占楼编辑
复制代码
看得多说得多,远比不上写得多。

TOP

回复 5# weichenxiehou


    老大不好意思 没说清楚 帮忙改一下吧 谢谢

TOP

回复 6# YYEnigma
如果文件名中有感叹号就会出现问题:
  1. @echo off&setlocal enabledelayedexpansion
  2. set num=
  3. for /f "delims=" %%a in (test.txt) do (
  4.   set "str=%%a"
  5.   set/a num+=1,row=num%%2
  6.   if !row! equ 1 set "file=!str!"
  7.   echo !str!>>"!file:.rar=.txt!"
  8. )
复制代码
1

评分人数

看得多说得多,远比不上写得多。

TOP

回复 7# weichenxiehou


    非常感谢老大的帮忙 现在可以了 不过您说文件名中有感叹号就有问题 哪不知这个修改会很复杂吗(就是有感叹号也不会有问题)如果复杂就算了 

TOP

回复 8# YYEnigma
问题是:文件名中有感叹号的话会被去掉,暂时没找到解决办法。不过用三方工具倒是可以。。。
看得多说得多,远比不上写得多。

TOP

回复 9# weichenxiehou


    知道了 非常感谢你的帮助 

TOP

vbs,试试?
  1. Set FSO = CreateObject("Scripting.FileSystemObject")
  2. Set File = FSO.OpenTextFile("test.txt",1)
  3. Do Until File.AtEndOfStream
  4.    Str2 = File.ReadLine
  5.    If Str1 <> "" Then
  6.       Name = Left(Str1,InstrRev(Str1,".")) & "txt"
  7.       Str = Str1 & vbCrLf & Str2
  8.       FSO.CreateTextFile(Name,True).Write Str
  9.       Str1 = "" : Str2 = ""
  10.    End If
  11.    Str1 = Str2
  12. Loop
  13. MsgBox "OK"
复制代码

TOP

回复 11# apang


    也感谢这位老师的回答

TOP

回复 9# weichenxiehou


我先来个gawk的
  1. gawk "NR%2{f=$0;getline;print f\"\n\"$0 >f\".txt\"}" a.txt
复制代码

TOP

  1. @echo off & setlocal enabledelayedexpansion
  2. for /f %%i in (1.txt) do (
  3.    set /a n+=1
  4.    set /a m=!n!%%2+1
  5.    if !m! equ 2 (
  6.      echo %%i>%%i.txt
  7.      set str=%%i.txt
  8.    )
  9.    if !m! equ 1 (
  10.      echo %%i>>!str!
  11.    )
  12. )
  13. pause
复制代码
时光荏苒||新陈代谢&&涛声依旧||本性难移

TOP

  1. @echo off &setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in (111.txt) do (
  3. set /a "n+=1, 0/(n%%2)" 2>nul &&set filename=%%i&echo %%i>"!filename!" ||echo %%i>>"!filename!"
  4. )
  5. pause
复制代码
非常批处理3群:56794763
有偿写程序.
批处理, lua, c, c++, vba, php, css

TOP

返回列表