• Windows 批处理


    1. 引言

        在Windows上,经常需要做一些重复的工作。比如在不同的工作场所需要切换不同的ip;比如有时需要对一堆文件按1~n进行重命名;再比如我们需要删除一大堆文件,这些文件名字都差不多,但不在同一个目录呆着…第一次可以忍忍,手动完成了,但次数多了,将会觉得特麻烦和无聊;于是开始用某种编程语言写程序来处理,比如java,c++等,但写完后才发现花的时间比手动处理还多…。这时候,一些简单的批处理命令,将会为带来无穷的便利。

        写这篇博客的目的是因为不想花时间系统地去记忆这些批处理命令,因此每次遇到需要用到批处理的地方,就百度相关的语句,更新记录到这里。

        当前更新于:2015年10月6日 14:25:18;

    2. 语法

    ① 环境:在Windows下,写一个批处理程序很简单,在任何目录下,右键新建一个文本文档,打开编写代码后保存(注意编码,否则可能会乱码),再将该文件.txt后缀改为.bat后缀,双击即可运行。

    ② echo:打印。如:

    echo hello world!

    ③ @:@加在某命令前表示不显示该命令。如:

    @echo hello world!

    ④ echo off:该命令执行后,之后所有的命令都不会显示出来(相当于在之后的所有的命令前加了@,对自身无效)。

    ⑤ pause:暂停。按任意键后继续。

    ⑥ title:设置窗口标题。如:

    title hello world

    ::标签。配合goto使用。如:

    :lable1

        :::注释。如:

    ::这是一段注释

    ⑧ goto:转跳到某一标签。如:

    goto :lable1

    ⑨ 设置IP:如

    Netsh interface IP Set Address "本地连接" Static 192.168.0.99 255.255.255.0 192.168.0.1 1

    其中“本地连接”是你要设置的适配器的名字;后面的数字依次是ip、网关、子网掩码。

    ⑩ 设置DNS:如:

    Netsh interface IP set dns "本地连接" static 192.168.0.1 primary

    ⑪ set/p xxx=:如:

    @set /p var=
    @echo %var%
    @pause

    意思是:接受键盘输入,并把输入值赋给var。其中%var%,表示引用var变量。

    ⑫ if 条件 (命令)  else 命令,如:

    @if 1==1 (echo 成立) else echo 不成立
    @pause

    3. 案例

    ① Hello World

    @echo Hello World!
    @title hello world
    @pause

    ② 一键填写ip(网关,子网掩码,DNS)

    @echo off
    echo ==============一键填写IP=============
    title 一键填写IP
    set ip1=192.168.1.2
    set ip2=172.16.42.254
    echo 0:退出
    echo 1:%ip1%
    echo 2:%ip2%
    set/p ip=请输入数字:
    if %ip%==0 goto :exit
    if %ip%==1 goto :ip1
    if %ip%==2 goto :ip2
    :ip1
    echo 正在设置ip:%ip1% ...
    Netsh interface IP Set Address "本地连接" Static %ip1% 255.255.255.0 192.168.1.1
    Netsh interface IP set dns "本地连接" static 222.246.129.81 primary
    echo 设置成功
    goto :exit
    :ip2
    echo 正在设置ip:%ip2% ...
    Netsh interface IP Set Address "本地连接" Static %ip2% 255.255.255.0 172.16.42.1
    Netsh interface IP set dns "本地连接" static 222.246.129.81 primary
    echo 设置成功
    goto :exit
    :exit
    echo bye
    pause
    exit

     

  • 相关阅读:
    bzoj1027
    bzoj1069
    poj2079
    poj2187
    bzoj2281
    bzoj2285
    bzoj1558
    bzoj1822
    bzoj1559
    bzoj1570
  • 原文地址:https://www.cnblogs.com/dongkuo/p/4857185.html
Copyright © 2020-2023  润新知