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

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

[复制链接]
发表于 2015-3-10 17:04:06 | 显示全部楼层 |阅读模式
一个文件夹里包含很多这样的文本数据,有很多行和很多列数据,数据有正负。拿其中一个文本举a.$101例说明,现在想把这个文本的正负数据分开保存成两个文件,一个文件只含有正数(原来文本里面的负数变成0),该文件名字在原来的基础上加Pos,即变成aPos.$101;另一个只含有负数(原来文本里面的正数变成0),该文件名字在原来的基础上加Neg,即变成aNeg.$101。文件夹里面的所有文本均这样操作,用Bat编程能实现吗?希望高手们帮帮忙,谢谢。
发表于 2015-3-10 19:14:02 | 显示全部楼层
回复 1# yeyingqingfeng
实现不难
”一个文件只含有正数(原来文本里面的负数变成0),另一个只含有负数(原来文本里面的正数变成0)“这两句的“原来文本的正负数变成0”是何意?
发表于 2015-3-10 20:18:09 | 显示全部楼层
本帖最后由 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. )
复制代码
 楼主| 发表于 2015-3-11 10:20:51 | 显示全部楼层
回复 2# pcl_test
就是输出正数的文本里面,在原文本位置是负数的把它变成0;输出负数的文本里面,在原文本位置是正数的把它变成0,感谢您的帮助。
 楼主| 发表于 2015-3-11 10:21:32 | 显示全部楼层
回复 3# xxpinqz
非常感谢,我先试试。
 楼主| 发表于 2015-3-11 10:45:24 | 显示全部楼层
xxpinqz 发表于 2015-3-10 20:18


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

原文本如下:

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

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

谢谢您的热心帮助,
 楼主| 发表于 2015-3-11 10:46:23 | 显示全部楼层
回复  yeyingqingfeng
实现不难
”一个文件只含有正数(原来文本里面的负数变成0),另一个只含有负数( ...
pcl_test 发表于 2015-3-10 19:14


我把具体要实现的要求重新整理了一下,感谢您的帮助。
发表于 2015-3-11 12:48:03 | 显示全部楼层
回复 6# yeyingqingfeng


    已改,自己试下。下次把问题说清楚点。。。。
 楼主| 发表于 2015-6-26 12:55:43 | 显示全部楼层
谢谢热心解答,前段时间有点忙,忘了把帖子注明【已解决】
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 14:40 , Processed in 0.019490 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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