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

[文本处理] [已解决]拖放处理文件的批处理代码求排错

解决方法在十八楼...


M1不能正常输出..请问如何解决呢,,各位大大
M2可正常使用!
我认,,我是左抄抄,右抄抄的!!
  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. title XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  4. mode con: cols=80 lines=40
  5. :ch
  6. set/p aa=输入序号后回车确定:
  7.   echo.%aa%|findstr "^[1-8]$">nul&&goto M%aa%
  8. goto ch
  9. :M1
  10. cls
  11. if "%aa%"=="q" goto quit
  12. set /p a=请输入需要批处理的文本后按回车键(q=退出):
  13. if "%a%"=="q" goto zcd
  14. cls
  15. gawk "BEGIN{FS=OFS=\".\"}/^[0-9]/{if(!a[$1\"_\"$2\"_\"$3]++)print $1,$2,$3,\"0/24\";next}{print}" %a% > 2.txt
  16. pause
  17. goto ch
  18. :M2
  19. cls
  20. echo 输入Q返回主菜单
  21. set a=
  22. set/p a=请将文件拖入:
  23. if /i "%a%"=="q" goto zcd
  24. cls
  25. echo 正在计算文本行数,请稍等......
  26. for /f "delims=" %%i in (%a%) do set/a b+=1
  27. cls
  28. set c=
  29. set/p c=请输入要得到的文件个数:
  30. set/a d=%b%/%c%+3
  31. cls
  32. echo 正在分割,请稍等......
  33. set e=1
  34. set f=0
  35. for %%k in (%a%) do set wjm=%%~nk
  36. for /f "delims=" %%j in (%a%) do (
  37. echo %%j>>A.txt
  38. set/a f+=1
  39. if !f! GEQ %d% set/a e+=1 & set f=0
  40. )
  41. cls
  42. move A.txt D:\TOOL\H\QQp1
  43. move A.txt D:\TOOL\H\QQp2
  44. move A.txt D:\TOOL\H\QQp3
  45. move A.txt D:\TOOL\H\QQp4
  46. move A.txt D:\TOOL\H\QQp5
  47. move A.txt D:\TOOL\H\QQp6
  48. echo 分割与移动成功...
  49. pause
  50. goto ch
复制代码

顶顶...........

TOP

顶顶...........

TOP

请介绍一下M1想实现什么功能?
希望得到的效果是什么?
实际得到的效果是什么?
Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

TOP

回复 4# gawk


拖入文本的方式的方式,然后实现下面工能:

未完成前:
#---------中国CN
1.1.1.1
2.2.2.2
3.3.3.3
#---------美国EN
4.4.4.4
5.5.5.5
6.6.6.6

完成后:
#---------中国CN
1.1.1.0-20
2.2.2.0-20
3.3.3.0-20
#---------美国EN
4.4.4.0-20
5.5.5.0-20
6.6.6.0-20

TOP

回复 5# ksla


    %e%这个变量是在哪里定义的?
Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

TOP

回复 6# gawk


    这个值不是表示(被拖进去的文件)吗?

TOP

回复 7# ksla


set/p a=请将文件拖入:
很显然不是
Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

TOP

我本身也是这个值的%a%,忘记把set/p a=改成set/p e=

但改了一样不行!!

TOP

回复 8# gawk

提示这些错误信息!!


gawk: cmd. line:1: BEGIN{FS=OFS="."}/[0-9]/{if(\\IP\4.\lo13957120\lo157696\2.txt                                                        
gawk: cmd. line:1:                             ^ backslash not last character on line
gawk: cmd. line:1: BEGIN{FS=OFS="."}/[0-9]/{if(\\IP\4.\lo13957120\lo157696\2t.txt
gawk: cmd. line:1:                             ^ syntax error

TOP

本帖最后由 ksla 于 2016-1-9 17:01 编辑

回复 8# gawk


    如果可以做到下面那样...那就方便了!!
(1)文本分割
(2)转换IP格式


按下2键
拖放文本...

未完成前:
#---------中国CN
1.1.1.1
2.2.2.2
3.3.3.3
#---------美国EN
4.4.4.4
5.5.5.5
6.6.6.6

按A键
完成后:
#---------中国CN
1.1.1.0-20
2.2.2.0-20
3.3.3.0-20
#---------美国EN
4.4.4.0-20
5.5.5.0-20
6.6.6.0-20

按B键
完成后:
1.1.1.0-20
2.2.2.0-20
3.3.3.0-20
4.4.4.0-20
5.5.5.0-20
6.6.6.0-20

TOP

回复 10# ksla


    我的 Win 7 + gawk 4.1.0 测试没有遇到这个报错
Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

TOP

回复 9# ksla


    改了一样不行,说明代码里面可能有不止一个错误,我指出的是第一个错误。解决一个就离正确更进一步,不着急慢慢来。
Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

TOP

回复 11# ksla


感觉你问问题就像在刷帖一样,建议想好、组织好语言再问。
人生是一部书/只有这一页最温暖/读懂它的时候/我们在远方流泪...

TOP

回复 14# 回家路上


    你说得对,组织能力有问题,我日后会多多改善!毕竟我未接触过批处理...

TOP

返回列表