标题: [文本处理] 【已解决】批处理:如何批量提取多个文本内未出现的数据? [打印本页]
作者: 思想之翼 时间: 2014-7-29 01:14 标题: 【已解决】批处理:如何批量提取多个文本内未出现的数据?
文件夹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 换行符)
作者: CrLf 时间: 2014-7-29 01:42
本帖最后由 CrLf 于 2014-7-29 02:59 编辑
- @echo off&setlocal enabledelayedexpansion
- set n=100
- for /l %%a in (0 1 99) do set /a $!n:~1!=1,n+=1
-
- for %%a in (*.txt) do (
- set "str= "
- setlocal
- for /f "delims=" %%b in (%%~snxa) do (
- for %%c in (%%b) do set "$%%c="
- )
- for /f "delims==$" %%b in ('set $ ') do set str=!str! %%b
- echo !str:~2!
- endlocal
- )>"c:\文件夹2\%%~nxa"
- pause
复制代码
作者: 思想之翼 时间: 2014-7-29 02:29
回复 2# CrLf
系统找不到文件。
ECHO 处于关闭状态。
作者: CrLf 时间: 2014-7-29 02:42
回复 3# 思想之翼
$ 与 ' 联用居然会被吞,已修改
作者: xxpinqz 时间: 2014-7-29 16:41
楼主的意思应该这样吧- echo !str:~2!
- endlocal
- )>"c:\文件夹2\%%~nxa"
复制代码
- echo,!str:~2!>"c:\文件夹2\%%~nxa"
- endlocal
- )
复制代码
作者: CrLf 时间: 2014-7-29 17:51
回复 5# xxpinqz
效果是一样的噢
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |