巧用.bat批处理文件

发布时间:2025-12-09 18:59:16 浏览次数:4

一、概念先行

搜狗词条解释:
bat文件是dos下的批处理文件。批处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为 .bat 或 .cmd。在命令提示下输入批处理文件的名称,或者双击该批处理文件,系统就会调用cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。使用批处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务。[1]入侵者常常通过批处理文件的编写来实现多工具的组合入侵、自动入侵及结果提取等功能。

二、入门基础

@echo off ::相对路径echo relative path >C:\>1\相对路径.txt ::绝对路径echo absolute path >C:\Users\zhilan.zheng\Desktop\1\绝对路径.txt pause start snippingtool

程序运行是否正确?

errorlevel 程序返回码 echo %errorlevel% 每个命令运行结束,可以用这个命令行格式查看返回码
用于判断刚才的命令是否执行成功 默认值为0,一般命令执行出错会设 errorlevel 为1

CALL理解?

CALL命令可以在批处理执行过程中调用另一个批处理,当另一个批处理执行完后,再继续执行原来的批处理 CALL command
调用一条批处理命令,和直接执行命令效果一样,特殊情况下很有用,比如变量的多级嵌套,见教程后面。在批处理编程中,可以根据一定条件生成命令字符串,用call可以执行该字符串,见例子。
CALL [drive:][path]filename [batch-parameters] 调用的其它批处理程序。filename
参数必须具有 .bat 或 .cmd 扩展名。 CALL :label arguments
调用本文件内命令段,相当于子程序。被调用的命令段以标签:label开头 以命令goto :eof结尾。

一些特殊的符号:

常用特殊符号
1、@ 命令行回显屏蔽符
2、% 批处理变量引导符
3、> 重定向符
4、>> 重定向符
5、<、>&、<& 重定向符
6、| 命令管道符
7、^ 转义字符
8、& 组合命令
9、&& 组合命令
10、|| 组合命令
11、“” 字符串界定符
12、, 逗号
13、; 分号
14、() 括号
15、! 感叹号
16、批处理中可能会见到的其它特殊标记符: (略)
CR(0D) 命令行结束符
Escape(1B) ANSI转义字符引导符
Space(20) 常用的参数界定符
Tab(09) ; = 不常用的参数界定符
+ COPY命令文件连接符
* ? 文件通配符
/ 参数开关引导符
: 批处理标签引导符

三、使用示例【超实用】

dir命令:

`前缀名@echo offtitle 批量添加前缀名echo.echo 本批处理可批量添加前缀名echo.echo.&set /p strtemp3= 请输入要添加前缀的文件类型:echo.&set /p strtemp2= 请输入要添加前缀的文件名字符串(不变则直接回车):setlocal enabledelayedexpansionfor /f "delims=" %%a in ('dir /a /b *.%strtemp3%') do (ren "%%~a" "%strtemp2%%%a")echo.echo OK了!echo.pause` 后缀名@echo offtitle 批量添加后缀名echo.echo 本批处理可批量添加后缀名echo.echo.&set /p strtemp3= 请输入要添加后缀名:echo.&set /p strtemp2= 请输入要添加后缀名字符串(不变则直接回车):setlocal enabledelayedexpansionfor /f "delims=" %%a in ('dir /a /b *.%strtemp3%') do (ren "%%~a" "%%a.%strtemp2%")echo.echo OK了!echo.pause @echo offecho 正在清除系统垃圾文件,请稍等......del /f /s /q %systemdrive%\*.tmpdel /f /s /q %systemdrive%\*._mpdel /f /s /q %systemdrive%\*.logdel /f /s /q %systemdrive%\*.giddel /f /s /q %systemdrive%\*.chkdel /f /s /q %systemdrive%\*.olddel /f /s /q %systemdrive%\recycled\*.*del /f /s /q %windir%\*.bakdel /f /s /q %windir%\prefetch\*.*rd /s /q %windir%\temp & md %windir%\tempdel /f /q %userprofile%\小甜饼s\*.*del /f /q %userprofile%\recent\*.*del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*"del /f /s /q "%userprofile%\Local Settings\Temp\*.*"del /f /s /q "%userprofile%\recent\*.*"echo 清除系统LJ完成!echo. & pause ::查看文件下的一类文件@echo offfor /r "C:\1" %%v in (*.txt) do echo %%v # 匹配*.txtpause>nul::批量修改文件属性 ren *.ss *.jpg::新建一个文件并往文件里面写入hello word@echo off echo hello world >nihao.cpause

人机交互一下?

@echo offecho 1.aaecho 2.bb:firstecho Enter your choice:set /p opt=if %opt%==1 goto oneif %opt%==2 goto twoecho no such choicegoto first​:oneecho your choice 1pause:nulexit​:twoecho your choice 2pause:nulexit
需要做网站?需要网络推广?欢迎咨询客户经理 13272073477