• 批处理编写


    数据来源 

    以下命令不熟悉的可以点这里,或上百度查询 - - DOS 命令

    建议:初学者在虚拟机中完成实验!!!

    1、批处理作用

            自上而下成批处理每一条命令,知道最后一条!

    2、如何创建批处理

            扩展名:.bat

            创建方法:新建一个记事本文件,然后将扩展名改为 .bat

            运行.bat 文件:双击 

             注:修改扩展名时需要将文件的扩展名显示出来后再进行修改!

            案例:新建一个记事本文件,然后件扩展名改为.bat,内容如下:

            下面这些命令会删除D盘下的所有文件,建议到虚拟机上测试

                    d:

                    cd \

                    cd tmp

                    del ./s /q  

    3、批处理基本语法

    1. @echo off

            作用:关闭回显功能,也就是屏蔽执行过程,建议放置在批处理的首行。

    2. pause

            作用:暂停批处理运行

    案例:

            @echo off

            pause

            执行结果如下:

           

    3. echo 

            作用: 输出字符串

            用法:

                 (1)echo   需要打印到屏幕的字符串

                 (2)echo.   (表示空行)

    4. color 

            作用: 设置字体颜色

            用法:

                 (1)color ? (获取使用方法 )

                 (2)color 0a(设置字体为绿色 )        

    5. title

            作用: 为批处理脚本设置标题

            用法:title 标题名称

    6.  >nul 2>nul

            作用: 清除该行命令的屏幕提示

            用法:
            可以加在需要清除提示的命令后面,比如:切换分区时: f:  >nul 2>nul  有些电脑没有f盘会            报错,提前防备    

    综合案例::

            案例1: 清理垃圾文件

            新建一个文本文档改名为:清理系统文件.bat        

            下面的ping 一直给本地发送测试包,目的是卡时间, -n 10   (卡10s)

    1. @echo off
    2. title 清理垃圾文件
    3. color 0a
    4. echo ======================================
    5. echo 是否清空你的垃圾文件?
    6. echo ======================================
    7. pause
    8. echo.
    9. echo "正在清理中,请稍后..."
    10. d: >nul 2>nul
    11. cd \ >nul 2>nul
    12. cd 垃圾
    13. rd . /s/q >nul 2>nul
    14. ping -n 10 127.0.0.1 >nul 2>nul
    15. echo 垃圾文件清理完成!!!
    16. pause

            执行结果如下:        

            

             案例2: 快速生成空文件占满磁盘空间,如果是c盘文件命令执行完成就会非常卡

            D盘起始空间

             

             新建一个文本文档改名为:快速生成空文件.bat

    1. @echo off
    2. title 快速生成恶意文件
    3. color 0a
    4. d:
    5. cd \
    6. fsutil file createnew d:\sys.ini 4096000000
    7. fsutil file createnew d:\sys1.ini 4096000000
    8. fsutil file createnew d:\sys2.ini 4096000000
    9. fsutil file createnew d:\sys3.ini 4096000000
    10. fsutil file createnew d:\sys4.ini 4096000000
    11. fsutil file createnew d:\sys5.ini 4096000000
    12. pause

            还可以使用 attrib +h  +s 文件全名/文件夹名         # 把文件隐藏并提升为被系统保护的文件

            执行结果如下:         

            

            文件运行之后的磁盘空间

            

    7.  start

            作用: 打开一个东西(链接、文件,.exe 程序之类的,不写就是默认打开cmd)

            用法:

           start  文件名                                           # 打开文件

           start  链接(www.baid.com之类的)    # 打开链接

           start                                                        # cmd

    8.  : 和 goto

            作用:: 标记一块命令区间,可以和 goto 配合跳转到指定的区域继续执行命令

          案例: 

            @echo off

             :a           # 标记一块区域

             ...

            goto a     # 跳转到a的代码块

            pause

    9.  userprofile

            作用:这是个变量里面存储“当前用户的家目录路径”

            使用:%userprofile%   这样就可以取出里面的值,%% 可以取出变量的值

    综合案例:

    注意:这个案例会让电脑进入死循环,请在虚拟机上运行,并提前设置好快照,以便回复电脑数据(仅作为学习用,出现任何后果本人不负责),如果没注意在真实电脑上运行了,可以尝试在任务管理器关闭,我没在真实机运行过,能否起效未知,再次提醒,不要在真实机上运行。

    新建一个 .bat 文件,内容如下,双击运行或电脑开机时会自动运行

    1. copy qq.bat "%userprofile%\「开始」菜单\程序\启动"
    2. :d
    3. start
    4. goto d

            注意:「开始」菜单\程序\启动 是win xp系统的路径,如果是其他系统请自行寻找 

             

    10.  set

            作用:定义变量

            使用:

           set    a=100                                                    # 定义一个变量a为100

           set   /p a=                                                        # 定义一个变量a,-p 等待用户输入

           set   /p a= 请输入                                             # 定义一个变量a,-p 等待用户输入 

    综合案例:飞阁小程序V1.0 

    1. @echo off
    2. title 飞阁小程序V1.0
    3. color 0a
    4. :0
    5. cls
    6. echo ============================================
    7. echo 菜单
    8. echo 1.定时关机
    9. echo 2.取消定时
    10. echo 3.退出
    11. echo 4.在启动文件夹下,生成张三的信息文件
    12. echo 5.删除启动文件夹下的张三个人信息
    13. echo ============================================
    14. set /p num=您的选择:
    15. if "%num%"=="1" goto 1
    16. if "%num%"=="2" goto 2
    17. if "%num%"=="3" goto 3
    18. if "%num%"=="4" goto 4
    19. if "%num%"=="5" goto 5
    20. echo “%num%”不是有效的选项,请输入菜单选项
    21. pause
    22. goto 0
    23. :1
    24. set /p a=请输入时间(单位/s):
    25. shutdown -s -f -t %a%
    26. goto 0
    27. :2
    28. shutdown -a
    29. goto 0
    30. :3
    31. exit
    32. :4
    33. echo @echo off >> "%userprofile%\「开始」菜单\程序\启动\张三.bat"
    34. echo color 0a >> "%userprofile%\「开始」菜单\程序\启动\张三.bat"
    35. echo echo 姓名:张三 >> "%userprofile%\「开始」菜单\程序\启动\张三.bat"
    36. echo echo 年龄:18>> "%userprofile%\「开始」菜单\程序\启动\张三.bat"
    37. echo echo 爱好:小黑子,开庭别哭!!! >> "%userprofile%\「开始」菜单\程序\启动\张三.bat"
    38. echo pause >> "%userprofile%\「开始」菜单\程序\启动\张三.bat"
    39. echo 文件生成成功!!!
    40. pause
    41. goto 0
    42. :5
    43. del "%userprofile%\「开始」菜单\程序\启动\张三.bat"
    44. echo 文件删除成功!!!
    45. pause
    46. goto 0

            执行结果如下:

            

            执行命令4生成的文件 (注意:放到启动目录下的文件开机就会自动执行

            

             

    11. ntsd -c q -pn 进程名称

            作用:强制杀死指定的进程针对 win2003、xp 比较好用,win7、10 不起作用

             案例:ntsd -c q -pn  winlogon.exe   (winlogon.exe 是win登录的进程,杀死这个进程会导致蓝屏,如果放到启动菜单内会导致开机就蓝屏)

    12. taskkill /im 进程名称 /f

            作用:/im 指定杀死某个进程   /f   强制执行

            案例:这是一个恶搞的脚本, explorer.exe  是win的桌面进程,杀死这个进程桌面会消失,可以手动启动

    1. @echo off
    2. color 0a
    3. taskkill /im explorer.exe /f >nul 2>nul
    4. echo 傻了吧
    5. ping -n 10 127.1.1.1 >nul 2>nul
    6. start c:windows\explorer.exe
    7. echo 吓唬你的,是不是尿裤子了!
    8. pause

  • 相关阅读:
    【C++项目】高并发内存池第七讲性能分析
    2024最佳steam搬砖项目,日入5000,保姆级教程,小白无脑操作
    七、shell脚本语言文本处理三剑客awk
    mysql8-基于docker搭建主从同步
    python数据结构与算法-03_链表
    认定科技型中小企业,这些好处一定要知道
    vLLM:由伯克利大学LMSYS组织开源的大语言模型高速推理框架-显著提高了大型语言模型(LLM)的服务效率
    前端工程化精讲第十二课 打包提效:如何为 Webpack 打包阶段提速?
    【用户画像】Redis的常用五大数据类型和配置文件介绍
    Windows 11 22H2 (2022 年更新) 发布,简体中文版、英文版下载
  • 原文地址:https://blog.csdn.net/weixin_43263566/article/details/127549449