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

[文本处理] 【已解决】批处理怎样把文本里面的数据处理成正负两部分?

一个文件夹里包含很多这样的文本数据,有很多行和很多列数据,数据有正负。拿其中一个文本举a.$101例说明,现在想把这个文本的正负数据分开保存成两个文件,一个文件只含有正数(原来文本里面的负数变成0),该文件名字在原来的基础上加Pos,即变成aPos.$101;另一个只含有负数(原来文本里面的正数变成0),该文件名字在原来的基础上加Neg,即变成aNeg.$101。文件夹里面的所有文本均这样操作,用Bat编程能实现吗?希望高手们帮帮忙,谢谢。

回复 1# yeyingqingfeng
实现不难
”一个文件只含有正数(原来文本里面的负数变成0),另一个只含有负数(原来文本里面的正数变成0)“这两句的“原来文本的正负数变成0”是何意?

TOP

本帖最后由 xxpinqz 于 2015-3-11 12:46 编辑
  1. @echo off
  2. for /f "delims=" %%i in ('dir /b *.$*') do (
  3.     (for /f "delims=" %%a in (%%i) do (
  4.         setlocal enabledelayedexpansion
  5.         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      "
  6.         echo,!neg!>>"%%~niNeg%%~xi"
  7.         echo,!pos!
  8.         endlocal
  9.     ))>"%%~niPos%%~xi"
  10. )
复制代码
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

回复 2# pcl_test
就是输出正数的文本里面,在原文本位置是负数的把它变成0;输出负数的文本里面,在原文本位置是正数的把它变成0,感谢您的帮助。

TOP

回复 3# xxpinqz
非常感谢,我先试试。

TOP

xxpinqz 发表于 2015-3-10 20:18


您好我试了一下上面的代码,能分离成两个文本,名字也对,但是里面的内容跟想要的有点区别,我把最终需要的再描述下,感谢您的帮助,谢谢。

原文本如下:

需要分离出来的正文本格式如下:

需要分离出来的负文本格式如下:

谢谢您的热心帮助,

TOP

回复  yeyingqingfeng
实现不难
”一个文件只含有正数(原来文本里面的负数变成0),另一个只含有负数( ...
pcl_test 发表于 2015-3-10 19:14


我把具体要实现的要求重新整理了一下,感谢您的帮助。

TOP

回复 6# yeyingqingfeng


    已改,自己试下。下次把问题说清楚点。。。。
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

谢谢热心解答,前段时间有点忙,忘了把帖子注明【已解决】

TOP

返回列表