Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 如何创建嵌套的循环ping清理器?_Windows_Batch File_For Loop_Cmd_Ping - Fatal编程技术网

Windows 如何创建嵌套的循环ping清理器?

Windows 如何创建嵌套的循环ping清理器?,windows,batch-file,for-loop,cmd,ping,Windows,Batch File,For Loop,Cmd,Ping,好的,所以我在编程方面是一个完全的新手,(这是我在大学课程中唯一有Javascript、SQL和一点visual basic经验的语言。) 无论如何,我正在参加一个SANS安全/道德黑客课程,我学到的一个有用的小花边是在Windows命令提示符下创建一个ping清理程序: for /L %i in (1,1,255) do @ping -n 1 10.10.10.%i | find "TTL" 现在我要做的不仅仅是迭代第四个八位组,还要迭代第三个八位组和第二个八位组。SANS类的powerpo

好的,所以我在编程方面是一个完全的新手,(这是我在大学课程中唯一有Javascript、SQL和一点visual basic经验的语言。) 无论如何,我正在参加一个SANS安全/道德黑客课程,我学到的一个有用的小花边是在Windows命令提示符下创建一个ping清理程序:

for /L %i in (1,1,255) do @ping -n 1 10.10.10.%i | find "TTL"
现在我要做的不仅仅是迭代第四个八位组,还要迭代第三个八位组和第二个八位组。SANS类的powerpoint表示,嵌套for循环和其他变量(%j,%k)可以实现这一点,但他们没有给出如何实现这一点的示例。任何帮助都将不胜感激

下面是一个

还是这艘班轮

for /L %i in (1,1,255) do for /L %j in (1,1,255) do for /L %k in (1,1,255) do for /L %l in (1,1,255) do echo %i.%j.%k.%l

说明:

  • 步骤1:
    @echo off
    删除此提示-
    C:\…>
  • 步骤2:分别从1到255的四个
    循环
  • 第3步:组合它们
  • 步骤4:循环从1.1.1.1开始
    • 然后转到下一个IP 1.1.1.2
    • 一直到255.255.255.255
      • 步骤5:
        echo
        循环IP地址

当你在谷歌上搜索“嵌套for循环”时,你发现了什么?我找到了其他的例子,但没有一个适合我想要完成的。或者,如果你坚持直接在命令行上执行,请使用这个怪物:
for/L%i in(1,1255)do for/L%j in(1,1255)do for/L%k in(1,1255)do for/L%L in(1,1255)do echo%i.%j.%k.%l
@Stephan我将%%x更改为%x,因为问题使用命令行表示元变量,而不是批处理文件元变量,是的,我讨厌cmd.exe不支持多行输入
@echo off
,格式清楚地表明这将是一个批处理文件,因此我“更正”了语法。您可以选择回滚到您的版本。@Stephan您的编辑是正确的,所以我将其保留在那里。但我也包括了你的一行方法。
for /L %i in (1,1,255) do for /L %j in (1,1,255) do for /L %k in (1,1,255) do for /L %l in (1,1,255) do echo %i.%j.%k.%l