windows批处理命令的简单学习

今天出于想知道对局域网内部有多少台主机,不想使用namp等工具,这里通过学习简单的批处理命令学会了,如何通过批处理命令去查看局域网有多少台主机

先给出答案

for \L %i in (1,1,254) do ping -w 2 -n 1 192.168.目标网段.%i

分析这一段代码,其实就是简单的脚步语言 这里面的\L,/Lfor 命令的一个选项,表示创建一个 "从-到"(range)的数字序列,以便在循环中迭代这个范围内的数字。

  • for /L %i IN (1,1,254) - 这部分表示一个 for 循环,它将 i 从1递增到254。%i 是循环变量,将在每次迭代中取不同的值。

  • ping -w 2 -n 1 192.168.1.%i - 这是在 for 循环内执行的命令。它使用 ping 命令来尝试对 IP 地址 192.168.1.%i 发送一个数据包。

    • -w 2 表示等待2毫秒后停止 ping。

    • -n 1 表示只发送一个数据包。

    • 192.168.1.%i 中的 %i 将在每次循环中替换为循环变量的值,因此实际上会尝试 ping 多个 IP 地址,从 192.168.1.1192.168.1.254

    • %i 是循循环变量,在每次迭代中它会取 IN 后面指定的范围内的一个数字。
    • (1,1,254) 表示循环的范围。它的意思是从 1 开始,以步长 1 增加,一直到 254 结束。这就是说,循环将迭代从 1 到 254 的所有整数。
    • 所以,for /L %i IN (1,1,254) 表示循环变量 %i 将在每次迭代中分别取值从 1 到 254 的整数。在每次迭代中,%i 的值将不断递增,以便执行相同的命令,但针对不同的数字。

这个命令通常用于扫描局域网内的设备,以查看哪些 IP 地址处于活动状态。如果某个 IP 地址处于活动状态,ping 命令将返回响应,否则将超时。

日常语法

我简单的收集了批处理的基本语法如下

批处理语言(如Windows批处理、Unix/Linux Shell脚本等)具有一些基本的语法元素,以下是其中一些常见的基本语法元素:

1,注释: 用于添加注释以解释脚本的目的或提供有关代码的说明。在大多数批处理语言中,注释以特定字符(如REM#)开头。

例(Windows批处理):

REM 这是一个注释

例(Bash Shell):

# 这是一个注释

2,变量定义和赋值: 定义变量并将值赋给它们,以便在脚本中存储和使用数据。

例(Windows批处理):

set myVar=Hello

 例(Bash Shell):

myVar="Hello"

3.输出和打印: 使用命令将文本消息打印到终端或文件,以便用户查看。

例(Windows批处理)

echo Hello, World!

 例(Bash Shell):

echo "Hello, World!"

4.条件语句: 用于根据条件执行不同的命令块,通常使用if语句。

例(Windows批处理)

if %myVar%==Hello (
    echo Greetings!
) else (
    echo Goodbye!
)

例(Bash Shell):

if [ "$myVar" = "Hello" ]; then
    echo "Greetings!"
else
    echo "Goodbye!"
fi

5.循环结构: 用于多次执行相同的命令块,通常使用forwhile循环。

例(Windows批处理):

for /L %%i in (1,1,10) do (
    echo %%i
)

 例(Bash Shell):

for ((i=1; i<=10; i++)); do
    echo $i
done

6,函数和子例程: 定义和调用函数或子例程以组织代码并实现可重用性。

例(Windows批处理):

:myFunction
echo This is a function
goto :eof

call :myFunction

 例(Bash Shell):

myFunction() {
    echo "This is a function"
}

myFunction

7.文件操作: 用于创建、复制、移动、删除文件等文件操作命令。

例(Windows批处理):

copy file1.txt file2.txt
del file1.txt

 例(Bash Shell):

cp file1.txt file2.txt
rm file1.txt

 其实感觉,bash shell 语言更具有高级语言的特性

windows里面的批处理里面的%%符号

在Windows批处理脚本中,%%通常用于表示一个批处理变量。Windows批处理脚本使用%作为变量的前缀,并在变量名前后加上%来引用该变量。在for循环中,为了防止与普通命令行变量(如%i)混淆,需要使用%%来表示循环变量。

例如,在以下Windows批处理中:

for /L %%i in (1,1,10) do ( echo %%i )

  • %%i表示for循环的循环变量,它的值从1到10依次递增。
  • %%i之前的%%用于指示这是一个批处理变量。

在批处理脚本中,单个%用于表示批处理变量,而%%用于在for循环等结构中引用循环变量,以防止变量名与普通环境变量冲突。

关于windos批处理一些常见的命令及一些功能

  1. start: 用于启动应用程序或打开文件。
  2. ping: 用于测试网络连接和延迟。
  3. echo: 用于在屏幕上显示文本。
  4. cd:用于更改当前目录。
  5. mkdir:用于创建新目录。
  6. del:用于删除文件。
  7. copy:用于复制文件。
  8. move:用于移动文件或更改文件名。
  9. rename:用于更改文件名。
  10. shutdown:用于关闭计算机。
  11. taskkill:用于终止正在运行的进程。
  12. find:用于在文件中查找文本。
  13. ipconfig:用于查看和配置网络信息。
  14. regedit:用于打开注册表编辑器。
  15. schtasks:用于计划任务和定时执行命令。
  16. net: 用于管理网络连接和资源。
  17. sc: 用于管理Windows服务。
  18. assoc:用于关联文件扩展名与程序。
  19. ftype:用于关联文件扩展名的操作。
  20. attrib:用于更改文件和目录属性。

如果想要类似与快捷方式那样的去打开一个文件

就可以 写一个bat文件    例如    新建一个记事本  内容如下写   start  "窗口标题“   " 想要打开文件的绝对路径\XXX.exe"即可,注意,不要在路径或者文件名里面出现中文字,因为在操作系统将bat脚步转化为编译的时候,底层的编译器不认识这个中文,底层的编译器应该不是unicode 可能就是ACSILL编码,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

deadline是第一生产力,

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值