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

[文本处理] 批处理BAT如何批量删除txt文件中的半角状态下的逗号?[已解决]

本帖最后由 quartz123 于 2014-7-10 16:07 编辑

求助老师们,如何批量删除txt文件中的','(半角状态下的逗号),谢谢!

这是批处理,后面是生成的文件,如何在生成文件的同时,就把','号删除掉,感谢老师们!

这是批处理命令:
  1. @echo off&setlocal ENABLEDELAYEDEXPANSION
  2. set record=同期_不可用.txt
  3. for /f "delims=" %%j in (!record!) do (
  4.         set first_num=%%j
  5.         set first_num=!first_num:~0,1!
  6.         if !first_num! EQU 6 (echo SH%%j>>同期.txt) else (echo SZ%%j>>同期.txt)
  7.         )
  8. del /q "同期_不可用.txt"
  9. pause
复制代码
这是生成的文件(只是一部份):
SZ000011        35,360.00
SZ000018        -412.00
SZ000025        374.64
SZ000029        1,305.03
SZ000033        -487.14
SZ000033        -292.44
SZ000045        -804.00
SZ000050        2,141.00
SZ000059        -8,572.52
SZ000063        31,001.00
SZ000068        -1,772.38
SZ000156        12,157.00
SZ000400        18,157.57
SZ000402        75,758.00
SZ000407        359.04
SZ000426        5,634.93
SZ000428        6,260.20
SZ000511        921.09
SZ000519        12,883.00
SZ000525        16,373.99
SZ000526        93.92
SZ000526        -39.80
SZ000562        83,509.70

搜索了下论坛,自己试着加了下,还是搞不定,求助老师们,感谢!

TOP

求帮助。。。。

TOP

请问老师们是否没法删除?我又试了下原来可以用替换来把逗号替换为空内容,如果没法直接删除的话,那么"替换"这个操作可以用批处理实现吗?感谢

TOP

或者是新做一个BAT,把生成的txt文件里的逗号全部删除也可以啊。。。求助。。

TOP

  1. @echo off&setlocal ENABLEDELAYEDEXPANSION
  2. set record=同期_不可用.txt
  3. (for /f "delims=" %%j in (!record!) do (
  4.         set "str=%%j"
  5.         if "!str:~,1!" EQU "6" (echo SH!str:,=!) else (echo SZ!str:,=!)
  6. ))>同期.txt
  7. del /q "同期_不可用.txt"
  8. pause
复制代码
1

评分人数

TOP

回复 4# quartz123


可以用set命令替换字符,参考:
http://bbs.bathome.net/thread-14927-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 hfg1977 于 2014-7-1 11:14 编辑

使用sed命令:
  1. @echo off&setlocal ENABLEDELAYEDEXPANSION
  2. set record=同期_不可用.txt
  3. for /f "delims=" %%j in (!record!) do (
  4.         set first_num=%%j
  5.         set first_num=!first_num:~0,1!
  6.         if !first_num! EQU 6 (echo SH%%j>>同期.txt) else (echo SZ%%j>>同期.txt)
  7.         )
  8. sed -i "s/,//g" 同期.txt
  9. del /q "同期_不可用.txt"
  10. pause
复制代码
1

评分人数

“阿姐走了。。。可是。。。我。。。我愿意。”

TOP

返回列表