标题: [文本处理] 【已解决】批处理怎样把文本里面的数据处理成正负两部分? [打印本页]
作者: yeyingqingfeng 时间: 2015-3-10 17:04 标题: 【已解决】批处理怎样把文本里面的数据处理成正负两部分?
一个文件夹里包含很多这样的文本数据,有很多行和很多列数据,数据有正负。拿其中一个文本举a.$101例说明,现在想把这个文本的正负数据分开保存成两个文件,一个文件只含有正数(原来文本里面的负数变成0),该文件名字在原来的基础上加Pos,即变成aPos.$101;另一个只含有负数(原来文本里面的正数变成0),该文件名字在原来的基础上加Neg,即变成aNeg.$101。文件夹里面的所有文本均这样操作,用Bat编程能实现吗?希望高手们帮帮忙,谢谢。
作者: pcl_test 时间: 2015-3-10 19:14
回复 1# yeyingqingfeng
实现不难
”一个文件只含有正数(原来文本里面的负数变成0),另一个只含有负数(原来文本里面的正数变成0)“这两句的“原来文本的正负数变成0”是何意?
作者: xxpinqz 时间: 2015-3-10 20:18
本帖最后由 xxpinqz 于 2015-3-11 12:46 编辑
- @echo off
- for /f "delims=" %%i in ('dir /b *.$*') do (
- (for /f "delims=" %%a in (%%i) do (
- setlocal enabledelayedexpansion
- for %%b in (%%a) do if "%%~nb"=="0" (set "pos=!pos!%%b "&set "neg=!neg! 0 ")else set "neg=!neg!%%b "&&set "pos=!pos! 0 "
- echo,!neg!>>"%%~niNeg%%~xi"
- echo,!pos!
- endlocal
- ))>"%%~niPos%%~xi"
- )
复制代码
作者: yeyingqingfeng 时间: 2015-3-11 10:20
回复 2# pcl_test
就是输出正数的文本里面,在原文本位置是负数的把它变成0;输出负数的文本里面,在原文本位置是正数的把它变成0,感谢您的帮助。
作者: yeyingqingfeng 时间: 2015-3-11 10:21
回复 3# xxpinqz
非常感谢,我先试试。
作者: yeyingqingfeng 时间: 2015-3-11 10:45
xxpinqz 发表于 2015-3-10 20:18
您好我试了一下上面的代码,能分离成两个文本,名字也对,但是里面的内容跟想要的有点区别,我把最终需要的再描述下,感谢您的帮助,谢谢。
原文本如下:
需要分离出来的正文本格式如下:
需要分离出来的负文本格式如下:
谢谢您的热心帮助,
作者: yeyingqingfeng 时间: 2015-3-11 10:46
回复 yeyingqingfeng
实现不难
”一个文件只含有正数(原来文本里面的负数变成0),另一个只含有负数( ...
pcl_test 发表于 2015-3-10 19:14
我把具体要实现的要求重新整理了一下,感谢您的帮助。
作者: xxpinqz 时间: 2015-3-11 12:48
回复 6# yeyingqingfeng
已改,自己试下。下次把问题说清楚点。。。。
作者: yeyingqingfeng 时间: 2015-6-26 12:55
谢谢热心解答,前段时间有点忙,忘了把帖子注明【已解决】
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |