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%

 


 

            

posted @   Alpha205  阅读(16)  评论(0编辑  收藏  举报
编辑推荐:
· 从 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)
点击右上角即可分享
微信分享提示