zoukankan      html  css  js  c++  java
  • windows批处理

    经过一些网上的学习,觉得windows的批处理有点像shell。

    echo off表示在此句后所有运行的命令不显示命令行本身;

    @与echo off相似,表示运行时不显示命令行本身;

    @echo off  不提供回显;

    echo hello world   学习编程语言第一句话helloworld;

    pause      暂停--类似C++system(“PAUSE”);

    rem calc中rem表示此命令后的字符为注释行 

    cmd下:

    1.批处理ping一个网段

    for /L %D in (10,1,15) do ping 192.168.1.%D

    参数 /L (该集表示以增量形式从开始到结束的一个数字序列。可以使用负的 Step)

     (10,1,15)就是每次逐增1,从192.168.1.10到192.168.1.15的这6个ip。

    C:Usersks>@echo off
    for /L %D in (10,1,15) do echo 192.168.1.%D
    192.168.1.10
    192.168.1.11
    192.168.1.12
    192.168.1.13
    192.168.1.14
    192.168.1.15
    
    
    for %D in (10,1,15) do echo 192.168.1.%D
    192.168.1.10
    192.168.1.1
    192.168.1.15

    %表示参数,参数是指运行批处理文件时在文件名后加的字符串。变量可以从%0到%9,%0表示文件本身,字符串用%1到%9的顺序表示。

    例如:c盘目录下批处理文件f.bat,内容为format %1,则执行C:>f a:则执行的是format a: 

    C:Usersks>for /?
    对一组文件中的每一个文件执行某个特定命令。
    
    FOR %variable IN (set) DO command [command-parameters]
    
      %variable  指定一个单一字母可替换的参数。
      (set)      指定一个或一组文件。可以使用通配符。
      command    指定对每个文件执行的命令。
      command-parameters
                 为特定命令指定参数或命令行开关。
    
    在批处理程序中使用 FOR 命令时,指定变量请使用 %%variable
    而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I.
    
    如果启用命令扩展,则会支持下列 FOR 命令的其他格式:
    
    FOR /D %variable IN (set) DO command [command-parameters]
    
        如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。
    
    FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]
    
        检查以 [drive:]path 为根的目录树,指向每个目录中的 FOR 语句。
        如果在 /R 后没有指定目录规范,则使用当前目录。如果集仅为一个单点(.)字符,
        则枚举该目录树。
    
    FOR /L %variable IN (start,step,end) DO command [command-parameters]
    
        该集表示以增量形式从开始到结束的一个数字序列。因此,(1,1,5)将产生序列

     2.批处理ping一个网段,把结果保存在txt文本中

    for /L %D in (175,1,179) do ping 192.168.1.%D >> a.txt

     a.txt:

    正在 Ping 192.168.1.175 具有 32 字节的数据:
    来自 192.168.1.179 的回复: 无法访问目标主机。
    来自 192.168.1.179 的回复: 无法访问目标主机。
    来自 192.168.1.179 的回复: 无法访问目标主机。
    来自 192.168.1.179 的回复: 无法访问目标主机。
    
    192.168.1.175 的 Ping 统计信息:
        数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
    
    正在 Ping 192.168.1.176 具有 32 字节的数据:
    来自 192.168.1.179 的回复: 无法访问目标主机。
    来自 192.168.1.179 的回复: 无法访问目标主机。
    来自 192.168.1.179 的回复: 无法访问目标主机。
    来自 192.168.1.179 的回复: 无法访问目标主机。
    
    192.168.1.176 的 Ping 统计信息:
        数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
    
    .....

    3.判断结果,把ip分别存不同的文本文件

    for /l %D in (177,1,180) do (ping 192.168.1.%D -n 1 && echo 192.168.1.%D>> ok.txt || echo 192.168.1.%D >> fail.txt)

    4.读取文件

    for /f %D in (ip.txt) do (ping %D -n 1 && echo %D >> ok.txt || echo %D >> fail.txt

    bat文件:

    5.bat脚本

    @echo off
    echo begin
    for /L %%D in (1,1,20) do start cmd&&echo %%D
    pause

  • 相关阅读:
    数据结构-循环队列程序演示
    C++进阶:新人易入的那些坑 --1.常量、常指针和指针常量
    this.$confirm的用法
    属性或方法“degreeList”不是在实例上定义的,而是在渲染期间引用的。通过初始化该属性,确保该属性是反应性的,无论是在data选项中,还是在基于类的组件中
    CSS清除浮动
    react里的高阶组件
    map和forEach的区别
    hash和history两种模式的区别
    js原型链的理解
    for..in,for..of 和forEach的区别
  • 原文地址:https://www.cnblogs.com/lianyg/p/9487244.html
Copyright © 2011-2022 走看看