windows批处理
常用命令:
echo 回显命令 即将echo后面的内容显示到控制台上,需要辨别几处区别:
例如对于如下的脚本:
@echo off echo This is 1line echo This is 2 line echo This is last line @pause
@echo off 表示执行这条命令之后关闭所有命令的回显(包括当前这一条)
echo off 关闭 除本条命令之外的所有命令的回显
::echo off ::表示注释掉echo off,即所有命令均有回显
pause: 表示暂停命令, 即输出 “请按任意键继续...”
rem 表示注释本行内容 rem This is a comment
set 设置变量的值, 例如 set PI = 3.14, 调用变量的值,需要%PI%,例如, echo Pi = %PI%
type命令 显示某个文件中的内容 例如 type a.txt
call 在批处理中调用另外一个批处理命令 例如 call "D:\software\visual studio\VC\vcvarsall.bat"
goto 和 : goto是一个跳转命令,当程序执行到goto语句的时候,会自动跳转到:定义的标签去执行
if not "%1"=="vsvars" goto ENDVSVARS call "D:\software\visual studio\VC\vcvarsall.bat" :ENDVSVARS
for循环语句:
基本的for循环语句如下所示,%%i表示引用变量(在cmd窗口中,只需要%i即可),即使在循环体中用不到,也需要写,for, do也不可省略。
for %%i in (A, B, C) do ( echo This is: %%i )
运行结果:
此外,for循环还有四个参数可循,分别是/d /l /r /f
1. 参数/d 命令格式 for /d %%i in (集合) do command
/d 是指定仅对符合条件的目录执行command命令,例如:for /d %%i in (c:\*.*) do echo %i ,列出C盘下所有的目录
可已将bat脚本放在特定的目录下,for /d %%i in (*) do echo %i , 列出当前目录下所有的目录
2. 参数 /r 命令格式 for /r %%i in (集合) do command 其中,/r后还可以有盘符或者路径,如果不加盘符或者路径,就是已当前脚本所在的路径为准。
/r与/d的区别是,/r可以将目录下的所有文件名进行读取,而/d只能获取到目录名。
例如: for /r d:/ %%i in (file1,file2) do( if exist %%i echo %%i) D盘的所有file1,file2文件
for /r . %%i in (file1,file2) do( if exist %%i echo %%i) 没有盘符或者 . 都代表脚本所在的当前目录
3. 参数 /f ,可以打开集合里的符合匹配条件的文件,能够实现增删查改操作,命令格式如下:
for /f "选项" %%i in (集合) do command
也可以不做选项,例如需要显示文件里面的内容,则按照如下的命令:
for /f %%i in (file集合) do echo %%i 即可显示文件集合里面文件的完整内容
选项可以分为:skip=1 tokens=1,2,3 delims= , 在缺省选项参数的情况下,会已空格作为默认的分割符,然后会在打开的文件中,按照一行一行给字符串分段,分段的分隔符就是delims指定,默认为空格。skip表示文本开始忽略的行数,tokens用于指定依次取第几个分割的字符串段赋给变量以及顺序附加变量。例如,token=1,2,3-5,表示第1,2,3,4,5段分配给变量以及顺序附加变量。tokens=1,2,3* , 3*表示3后所有的字符串段,或者token表示1,2,3,4,5
命令的用法:
for /f "skip=1 tokens=1,2,3 delims= " %%a in (file集合) do command
则此时,每一行的字符串段依次分配给变量 %%a, %%b, %%c
4. 参数/L ,表示使用一组数值范围来控制迭代,命令的格式为,for /L %%i in (start, step, end) do command
---------------------------------------------------分割线--------------------------------------------------
记录:
通过%cd%可获取当前运行的脚本所在的路径, %PATH%在运行脚本中获取系统环境变量中添加的路径。
echo set environment variable
set Application_Dir=%cd%
set Application_Ver=R100
echo Application_Dir=%Application_Dir%
echo Application_Ver=%Application_Ver%
echo P=%PATH%
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)