找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 27460|回复: 5

[文本处理] 【已解决】批处理:如何批量提取多个文本内未出现的数据?

[复制链接]
发表于 2014-7-29 01:14:21 | 显示全部楼层 |阅读模式
文件夹1”内有210个txt文本,分别命名为001、002...210,每个txt文本记录若干00-99范围内的数据,欲批量提取各文本00-99范围内未出现的数据,并写入“文件夹2”的001.txt 002.txt ...210.txt
比如  附件“文件夹1”内001.txt中,未出现00-99范围内的数据是09 28 62 83,提取出来并写入“文件夹2”的001.txt (数据格式为:09 空格 28 空格 62 空格 83 换行符)

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2014-7-29 01:42:10 | 显示全部楼层
本帖最后由 CrLf 于 2014-7-29 02:59 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. set n=100
  3. for /l %%a in (0 1 99) do set /a $!n:~1!=1,n+=1

  4. for %%a in (*.txt) do (
  5.   set "str= "
  6.   setlocal
  7.   for /f "delims=" %%b in (%%~snxa) do (
  8.      for %%c in (%%b) do set "$%%c="
  9.   )
  10.   for /f "delims==$" %%b in ('set $ ') do set str=!str! %%b
  11.   echo !str:~2!
  12.   endlocal
  13. )>"c:\文件夹2\%%~nxa"
  14. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
思想之翼 + 1 乐于助人

查看全部评分

 楼主| 发表于 2014-7-29 02:29:23 | 显示全部楼层
回复 2# CrLf

系统找不到文件。
ECHO 处于关闭状态。
发表于 2014-7-29 02:42:07 | 显示全部楼层
回复 3# 思想之翼


    $ 与 ' 联用居然会被吞,已修改
发表于 2014-7-29 16:41:27 | 显示全部楼层
楼主的意思应该这样吧

  1. echo !str:~2!
  2.   endlocal
  3. )>"c:\文件夹2\%%~nxa"
复制代码

  1. echo,!str:~2!>"c:\文件夹2\%%~nxa"
  2.   endlocal
  3. )
复制代码

评分

参与人数 1技术 +1 收起 理由
思想之翼 + 1 乐于助人

查看全部评分

发表于 2014-7-29 17:51:47 | 显示全部楼层
回复 5# xxpinqz


    效果是一样的噢

评分

参与人数 1技术 +1 收起 理由
xxpinqz + 1 惭愧,真不知道这样写也可以。

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 22:13 , Processed in 0.021797 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表