zoukankan      html  css  js  c++  java
  • Windows 批处理脚本学习

    Windows Dos命令/批处理命令学习

    简化操作!

    bat脚本/批处理编程初入门

    • @echo off不显示盘符
    • pause输出后暂停不关闭窗口
    • 一般的脚本都要有这两句在开头和结尾

    批处理运算操作

    1. 执行算术运算 set /a 1+3 ** /a**代表算术运算

    2. 使用变量 echo %变量名%, 赋值变量 set 变量名=xxxx

    3. 重定向运算

      1. 相关符号>,>>,<,<<箭头方向代表位置 一个符号覆盖,两个符号追加

      2. echo "hello" > a.txt 会在所在目录下创建a.txt 并存入内容 hello

      3. type命令可以查看文本文件内容

    4. 多命令运算 && || 有短路效果

      1. &当第一条命令执行失败了,后边的命令继续执行
      2. &&当第一条命令失败时,后边的命令不继续执行了
      3. ||当第一条命令失败后才执行第二条命令
    5. 管道运算 |左边的输出结果将作为右边的命令输入 例:dir | find ".txt" 查找目录中txt后缀的文件 or netstat -an | find "ESTABLISHED"查找建立的链接状态为ESTABLISHED的记录

    批处理的基本命令

    1. 命令 + /? 查看帮助 /help 获取完整的帮助信息
    2. 文件参数传入 %num ,然后再调用1.bat 时带上参数 D:> a.bat xxx 相当于占位符
    3. 代码注释 rem xxxx
    4. color 命令设置颜色
    5. title 设置cmd.exe标题
    6. date or time 加上 /t 仅查看时间
    7. start “title" 启动新的命令行窗口 /B 隐藏执行新窗口
    8. call 调用bat文件
    9. tasklist查看任务 有各种参数和筛选器
    10. taskkill 根据PID或镜像名称来终止
    11. tree 文件结构树形查看
    12. shutdwon 关机 /i 展示GUI
    13. at 计划任务 win10已弃用

    文件相关

    1. dir 查看目录和文件
    2. mkdir = md [/s] [/q] [drive:] path 创建目录
    3. rmdir = rd 删除目录
    4. cd 进去某个目录
    5. ren 重命名目录
    6. copy 复制目录1的文件到目录2 里
    7. del 删除一个或多个文件
    8. move 移动文件或目录

    条件判断结构

    1. if %v%==hello (echo ok) else (echo no)

    2. exist是个关键字

      ![image-20201016123950014](C:UsersjojoDesktopmarkdownWindows Dos命令学习.assetsimage-20201016123950014.png)

    循环结构

    1. 命令行用单% 写到批处理所有单%要改成双%%
    2. for /d in (路径/*) do 具体操作
    3. for /r "目录路径" %%v in (匹配规则 例如*.txt) do 执行操作(文件)
    4. for /d %%a in (*) do if %%a==test rd %%a 删除test这个文件夹
    5. for /L %%a in (1,1,20) do echo "current: " %%a 遍历数字
    6. for /f %%a in (test01.bat) do echo %%a 遍历文件内容

    目录重复创建

    @echo off
    
    :loop
    md Virus
    cd Virus
    goto loop
    
    

    交互操作

    @echo off
    echo 1.a
    echo 2.b
    echo 3.c
    echo 4.d
    
    :main
    echo Enter you option:
    set /p opt=
    rem /p表示从标准输入当中获取对应的值保存到opt当中 
    if %opt%==1 goto one
    if %opt%==2 goto two
    if %opt%==3 goto three
    echo Invalid option
    goto main
    
    :one
    echo your choice  one
    pause>nul
    exit
    
    :two
    echo your choice  two
    pause>nul
    exit
    
    :three
    echo your choice  three
    pause>nul
    exit
    
    

    nul 部分用法

    用法1:2>nul

    2>nul 是屏蔽操作失败显示的信息,如果成功依旧显示。

    如:在批处理文件所在路径下md(或者mkdir)创建名为test的文件夹,当此文件夹已经创建时会报错。使用2>nul 可屏蔽此提示

    md test 2>nul

    用法2:>nul (即1>nul)

    >nul 是屏蔽操作成功显示的信息,但是出错还是会显示(即1>nul)

    上个命令的返回值

    一般"成功"用0 表示 "失败"用 1 表示

    可以使用%errorlevel%获取

    可以用来判断网络是否连接

    其他

    访问网址 start 也行

    explorer http://www.baidu.com
    

    打开文件夹 没有路径就打开cmd窗口

    start D:文件夹1
    

    打开文件

    start D:文件夹1	est.txt
    

    删除当前目录TEST文件夹下的所有.o文件

    del .TEST*.o
    

    修改文件扩展名,所有txt扩展名改为mp3扩展名

    ren *.txt *.mp3
    ren  *.gif *.jpg
    

    提取当前目录下扩展名为mp3的文件名,输出到mp3文件名.txt

    dir *.mp3 /b>mp3文件名.txt
    

    延迟5秒执行命令、程序。xp以上的系统可以用 timeout命令

    ping 127.1 -n 5 >nul
    

    启动mysql数据库,并打开命令行并执行指定sql里面的代码

    start "mysqld" "C:Program FilesMySQLMySQL Server 8.0inmysql.exe"
    ping 127.1 -n 5 >nul
    "C:Program FilesMySQLMySQL Server 8.0inmysql.exe" -uroot -proot <my.sql
    

    判断是否能访问油管

    ping www.youtube.com -n 1 >nul 2>nul && echo yes||echo no
    

    查询是否启用代理

    reg query "HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings" /v ProxyEnable 
    rem 关闭系统代理
    rem reg add "HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings" /v ProxyEnable /t REG_DWORD /d 0 /f
    rem reg add "HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings" /v ProxyServer /d "" /f
    rem reg add "HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings" /v ProxyOverride /t REG_SZ /d 0 /f
    
    • sort命令按字母顺序排列文本文件或命令的输出
    • @符号是取消本行的输入显示 比如 @ping 127.0.0.1
    • %errorlevel%返回的是上一句的返回值

    相关参考

    https://deerchao.cn/tutorials/regex/regex.htm "正则表达式30分钟入门教程"
    https://www.bilibili.com/video/BV1Qv411q7bN "2020年最新Windows DOS命令批处理脚本学习"
    https://www.bilibili.com/video/BV1b5411473Y?p=16 "自动化脚本编程之CMD/DOS命令行与批处理入门到掌握全程课"
    http://www.bathome.net/ "批处理之家"

  • 相关阅读:
    python3----练习......
    python3----练习题(....)
    python3----requests
    python3----练习题(爬取电影天堂资源,大学排名,淘宝商品比价)
    python3----练习题(图片转字符画)
    python3----练习题(....)
    ConfigParser 读写配置文件
    数据驱动ddt+excel数据读取
    数据驱动ddt
    expected_conditions判断页面元素
  • 原文地址:https://www.cnblogs.com/somegenki/p/13828823.html
Copyright © 2011-2022 走看看