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

[文本处理] 如何快速的删除指定的多个列

本帖最后由 pcl_test 于 2017-4-11 23:29 编辑

SCE245,D9137019969,000008017319,00000000000019,C00-138-04+A,夹箍,480270,1
SCFEFEGA,D9137019969,000008017319,00000000000019,GB/T901-M10*120,等长双头螺柱,480270,1
DT085412,D9137019969,000008017319,00000000000019,C00-143-54+B,支架,480270,1
DSEFFES,D9137019969,000008017319,00000000000019,C00-187-02+A,垫块,480250,4


上面的4行文本 每行8列 中间都是用逗号隔开  如何才能删除第二列 第三列 和第四列 还有最后2列
我的数据库有大概几千万条数据 如何才能用最快的速度删除指定的列 求教

  1. cd /d "%~dp0"
  2. for /f "delims=" %%i in ('dir/a-d/s/b "%~dp0*.txt"')do (
  3. (call:file "%%~fi")>"%%~fi_new%%~xi"
  4. )
  5. pause
  6. goto:eof
  7. :file
  8. for /f "delims=" %%i in ('type "%~f1"')do (
  9. set "_="&&set "#=%%i"&&set "n=0"&&call:data
  10. for /l %%n in (2,1,!o!)do if defined $%%n set "_=!_!!$%%n!"
  11. echo,!_:~0,-1!
  12. set "#=%%i"&&set "m=0"&&call:data_delete
  13. )
  14. goto:eof
  15. :data
  16. if not defined # goto:eof
  17. set/a "n+=1"
  18. for /f "tokens=1,* delims=," %%y in ("!#!")do set "$%n%=%%y,"&&set "#=%%z"
  19. rem:过滤行
  20. set "_=%$1%"
  21. set/a "o=%n%-2"
  22. set "$2=,"
  23. set "$3=,"
  24. set "$4=,"
  25. goto:data
  26. :data_delete
  27. if not defined # goto:eof
  28. set/a "m+=1"
  29. for /f "tokens=1,* delims=," %%y in ("!#!")do set "$%m%="&&set "#=%%z"
  30. goto:data_delete
复制代码
这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

其实bat在自动脚本面前 真的弱点太多了

TOP

数据里操作不就是一行SQL?
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

用数据库删要多久??
第三方
http://www.bathome.net/s/tool/index.html?key=gawk
  1. gawk -F"," "{print $1\",\"$5\",\"$6}" "a.txt">"b.txt"&pause
复制代码

TOP

  1. @echo off
  2. (for /f "tokens=1-8 delims=," %%a in (a.txt) do (
  3.     echo;%%a,%%e,%%f
  4. ))>a_.TXT
复制代码
几千万行,估计不行。

TOP

返回列表