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

回复 15# ivor


    可能是set duankouhao= 这里的原因,如果set duankouhao= 21,22,23,25,26,正常显示,如果是set duankouhao= 21-26这样就不支持了,修正都支持就完美了,
输出时如果相应的端口号文本里没有本次ip就输出,有的话就无需再次重复输出,这样就不会出现每个相应的文本里有重复ip,可能你没有理解我说的去除重复ip的意思。在扫描的时候相同ip加相同端口会出现很多次,所以记录的是个数而不是次数
例如24.txt文本里有多个重复的,就需要去除重复。所以最好的办法是在输出时自动判断是否有重复
在这里小弟很感激

TOP

回复 15# ivor


   能不能实现 set duankouhao=既支持21,22,23,26  也支持21-26这种格式

TOP

本帖最后由 ivor 于 2012-2-9 19:25 编辑

回复 17# wh1234567
  1. @echo off
  2. set /p duankouhao=请输入端口号
  3. echo %duankouhao% | find "-" && goto :Proc
  4. for %%a in (%duankouhao%) do (
  5.         set prefix%%a=.
  6. )
  7. for /f "tokens=1,2,3*" %%i in (Result.txt) do (
  8.         if not defined %%i%%j if defined prefix%%j if "%%j" NEQ "" if "%%~xj" EQU "" (
  9. set %%i%%j=.
  10.                 set /a ivor%%j+=1
  11.                 echo %%i)>>%%j.txt
  12. )
  13. for /f "tokens=1,2delims==" %%a in ('set ivor') do (
  14.         set var=%%a & set /a count+=1
  15.         call echo %%var:~4%% 端口记录了总共 %%b 个
  16. )
  17. echo 总计有 %count%个端口号
  18. pause & exit
  19. :Proc
  20. for /f "tokens=1,2 delims=-" %%a in ("%duankouhao%") do (
  21. set min=%%a & set max=%%b
  22. )
  23. for /f "tokens=1,2,3*" %%i in (Result.txt) do (
  24.         if not defined %%i%%j if %%j LEQ %max% if %%j GEQ %min% if "%%j" NEQ "" if "%%~xj" EQU "" (
  25.                 set %%i%%j=.
  26.                 set /a ivor%%j+=1
  27.                 echo %%i)>>%%j.txt
  28. )
  29. for /f "tokens=1,2delims==" %%a in ('set ivor') do (
  30.         set var=%%a & set /a count+=1
  31.         call echo %%var:~4%% 端口记录了总共 %%b 个
  32. )
  33. echo 总计有 %count%个端口号
  34. pause & exit
复制代码
支持范围选择,支持用(为空格、逗号、跳格或等号)分开端口号,支持过滤相同端口号重复IP
新功能不再提供,程序如果有BUG,可以反馈
1

评分人数

    • wh1234567: 高手,真正实现了完美要求,再次感谢热心耐 ...技术 + 1

TOP

本帖最后由 wh1234567 于 2012-2-10 03:42 编辑

回复 7# ivor
  1. for /f "tokens=1,2,3*" %%i in (Result.txt) do (
  2.         if "%%j" NEQ "" if "%%~xj" EQU "" echo %%i >>%%j.txt
  3. )
  4. REM del Result.txt
复制代码
这个无需预设端口号的批处理也不错,只是需要增加在批处理界面上显示多少个端口,分别是哪些端口号的话就完美了,修正出现Time,这是第一个问题的批处理,还得劳驾修改一下,呵呵

TOP

回复 17# wh1234567


    Result.txt 事如何產生的 ?
    可否提供原文件 (若檔案太大,建議提供 100-200 行)

TOP

返回列表