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

[文本处理] BAT批量提取cfg指定内容上方首列数字合并生成新的txt

需求:将多个文件夹路径发帖1-发帖30
C:\Users\Administrator\Desktop\发帖1\Save目录中,提取ListBoxes.cfg内容首行至第一个“-----split-----“”中的第一列的数字内容,生成新的TXT文档保存。

ListBoxes.cfg文件内容如下:

6982151165 大家好
6978302768 你好
-----split-----
+1
+2
+3
-----split-----
+4
+5
+6
-----split-----



提取后的内容为:
6982151165
6978302768
保存至收集.txt

回复 19# wujunkai


    15楼的可以收集到。好像就是格式问题。

TOP

回复 19# wujunkai


    您这个点了收集,收集到的是空的。

TOP

回复 19# wujunkai


    这个也是依次要放入父目录吗?
还是C盘就可以。

TOP

  1. @echo off
  2. >"%USERPROFILE%\desktop\收集.txt" (for /l  %%i in (1,1,30) do (
  3. call :GetContent "%USERPROFILE%\desktop\发帖%%i\save\ListBoxes.cfg"
  4. ))
  5. goto:eof
  6. :GetContent
  7. for /f "useback" %%i in ("%~1") do (
  8. if "%%~i" == "-----split-----" goto :eof
  9. echo %%i
  10. goto:eof
  11. )
复制代码
试试这个?核心代码来源三楼,改了里面的收集部分

TOP

回复 17# yhcfsr


    恩,到父目录就可以了。完美解决了。

TOP

回复 16# 308131375


    把脚本放在所有文件夹的父目录执行,能明白吗?如果不明白,可以百度.
QQ 33892006

TOP

本帖最后由 308131375 于 2020-9-30 18:30 编辑

回复 15# yhcfsr


    您好,我刚试了下,是可以收集到了。
但是发现只能收集到第一个sav文件夹的这个文件,后续还有30多个同样的文件夹内ListBoxes.cfg的数据没有收集到。

TOP

  1. #&cls&@powershell -c "Get-Content '%~0' | Select-Object -Skip 1 | Out-String | Invoke-Expression" & pause&exit
  2. Get-ChildItem -Path './' -Include ('ListBoxes.cfg') -Recurse|ForEach-Object {
  3.     Get-Content -Path $_ -Encoding UTF8|ForEach-Object{
  4.        if( $_ -eq '-----split-----') { break;}
  5.        $_ -replace '\D.*' >> $env:USERPROFILE'\desktop\收集.txt'
  6.     }
  7. }
复制代码
用法:保存为BAT,适用于WIN7及以上系统
1

评分人数

QQ 33892006

TOP

回复 13# Batcher


    这个是程序自动生成的。即使更改后,程序不久就又会变回原样。

TOP

回复 12# 308131375


    你这个ListBoxes.cfg是UTF-8编码,请试试9楼的方法改成ANSI编码。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 11# Batcher

TOP

回复 10# 308131375


    我打不开这个链接,你传到百度网盘试试?不用打包太多文件,有两三个就够了
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 9# Batcher


    您好,因为附件上传限制我无法上传,
我把文件放到http://suo.im/5sU6oh这个链接下载了。
您查看下。

TOP

回复 8# 308131375


请把3楼最新代码保存为 test.bat 并放在 C:\Users\Administrator\Desktop 这个目录下
然后参考Q-04和Q-05把bat文件和cfg文件都保存为ANSI编码:
https://mp.weixin.qq.com/s/6lbb97qUOs1sTyKJfN0ZEQ

如果还是不行,请把 test.bat 和 cfg 文件打包压缩传上来我试试。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表