Board logo

标题: [文本处理] 【已解决】批处理怎样提取文本前十行内容到新的文本,并删除所有文本前十行内容 [打印本页]

作者: 奥特    时间: 2019-4-14 15:01     标题: 【已解决】批处理怎样提取文本前十行内容到新的文本,并删除所有文本前十行内容

本帖最后由 奥特 于 2019-4-23 14:19 编辑

批处理TXT  提取文件夹内所有文本前十行内容生成新文本,并删除所有旧文本前十行内容。跪谢!
作者: zaqmlp    时间: 2019-4-14 15:24

本帖最后由 zaqmlp 于 2019-4-14 15:25 编辑
  1. @echo off
  2. set info=互助互利,支付宝扫码头像,感谢赞助
  3. rem 有问题,可加QQ956535081及时沟通
  4. title %info%
  5. start mshta VBScript:Execute("msgbox(""%info%""):close")
  6. cd /d "%~dp0"
  7. md "结果" 2>nul
  8. powershell ^
  9.     $s=@();dir *.txt^|?{$_ -is [System.IO.FileInfo]}^|%%{^
  10.         write-host $_.FullName;^
  11.         $text=@(gc $_.FullName);$t=@();^
  12.         $s+=$text[0..9];^
  13.         if($text.length -gt 10){$t=$text[10..($text.length-1)]};^
  14.         [IO.File]::WriteAllLines(('结果\'+$_.Name), $t, [Text.Encoding]::Default);^
  15.     };^
  16.     out-file -file '合并.log' -input ($s -join \"`r`n\") -enc Default;
  17. pause
复制代码

作者: 奥特    时间: 2019-4-14 15:42

回复 2# zaqmlp
辛苦了大神。这个测试了可以提取前十行,但是没能删除前十行。谢谢大神,我再去找下批量删除前十行的代码就可以了。辛苦了
作者: zaqmlp    时间: 2019-4-14 15:47

本帖最后由 zaqmlp 于 2019-4-14 15:49 编辑

回复 3# 奥特

在“结果”文件夹里,要感谢还是赞助下实际点
作者: 奥特    时间: 2019-4-14 15:56

嗯嗯,看到了,已扫,大神别嫌少啊。回复 4# zaqmlp
作者: zaqmlp    时间: 2019-4-14 15:57

回复 5# 奥特
嗯,一次友好的互助
作者: Batcher    时间: 2019-4-15 09:22

  1. @echo off
  2. set "NewFolder=新文本"
  3. if not exist "%NewFolder%" (
  4.     md "%NewFolder%"
  5. )
  6. for %%a in (*.txt) do (
  7.     sed -n "1,10p" "%%a" > "%NewFolder%\%%a"
  8.     sed -i "1,10d" "%%a"
  9. )
复制代码

作者: 奥特    时间: 2019-4-23 14:16

辛苦了回复 7# Batcher




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