windows批处理自学笔记

没有检索到摘要

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Windows bat 学习笔记

回显 ECHO 与 @

ECHO 的作用是全局打开/关闭命令行在终端窗口的回显。具体用法为:

ECHO ON     //打开指令回显
ECHO OFF    //关闭指令回显
ECHO 一段字符串     //在终端显示字符串
ECHO 字符串 >> filename.txt       //将一段字符串内容写入另一个文件并保存

@ 的作用是,放在一行命令前,强制关闭该命令的回显。不管全局ECHO是开还是关。



注释 REM 与 ::

REM 在Windows 批处理程序中,是行注释(备注)的关键字。在这一行的开头写上REM符号,代表此行为注释行,不执行但是能够回显。

::与REM略有区别。在::后的字符,在终端不会执行,也不会回显。无论ECHO是否开启,均不会回显,因为解释器不认为此行为有效命令行



暂停 PAUSE

PAUSE顾名思义,是暂停的意思。在Windows终端中表现为:“按下任意键继续……”


修改窗口标题 TITLE

TITLE的作用,就是修改bat运行起来的终端窗口的标题名。具体用法为:

TITLE 想要修改的标题名



修改终端背景与字体颜色 COLOR

COLOR可以设置默认的控制台前景和背景颜色。

COLOR [attr]    //指定控制台输出的颜色属性。

颜色属性由两个十六进制数字指定 – 第一个对应于背景,第二个对应于前景。每个数字可以为以下任何值:

0 = 黑色       8 = 灰色
1 = 蓝色       9 = 淡蓝色
2 = 绿色       A = 淡绿色
3 = 浅绿色     B = 淡浅绿色
4 = 红色       C = 淡红色
5 = 紫色       D = 淡紫色
6 = 黄色       E = 淡黄色
7 = 白色       F = 亮白色



调整终端窗口大小 MODE

MODE可以指定终端窗口的宽度和高度,例如:

MODE con cols=50 lines=25  //设置控制台宽度50,高度25



组合命令符 &、&&、||

&符的作用是连接同一行的多个命令:例如我想在同一行内设置终端窗口的宽高以及颜色,那么我可以这样来写:

MODE con cols=100 lines=75 & COLOR 0A
//在一行中,同时设置窗口宽高与颜色

&&作用和&一样,但是略有区别:
使用&连接的多个命令,即使前面的命令执行失败,也不影响后续命令的继续执行。
但是使用&&连接的多个命令,只要前面的命令执行失败,那么后续命令不会继续执行,直接退出程序。

||或,连接多条命令时,从第一条命令开始顺次执行,直至成功执行为止。(成功执行命令后面的命令不再执行

注意:组合命令和重定向命令一起使用时注意优先级
管道命令 > 重定向命令 > 组合命令

  • 等级 高 | 【管道符】
  • 等级 中 > >> 【重定向符】
  • 等级 低 & && || 【组合命令符】



程序跳转 GOTO

GOTO指定标签行跳转。与C语言中的GOTO有类似的作用:

通常在bat使用中,GOTO也能间接地起到‘多行注释’的作用:

GOTO main
这里是注释行1   //此行不会被执行
这里是注释行2   //此行不会被执行
这里是注释行3   //此行不会被执行
:main

command lines...



查找文件内容FIND 与 显示文件内容TYPE

FIND用法如下:

FIND 一段字符串 文件名
//例如:
FIND tsukimi test.txt
//在文件test.txt中查找含有 tsukimi 的文本行

TYPE在Windows bat命令中不是‘类型’的意思,是指“打字输入”。具体用法如下:

TYPE 文件名
//例如:
TYPE 1.txt
//将1.txt文本文档中的内容输出到bat当前终端窗口



调用程序 START 和 CALL

START的作用是打开一个应用程序。

START calc //打开计算器
START notepad //打开记事本

CALL能够在一个批处理程序中,调用另一个批处理程序。

CALL 和 START 的区别:
CALL 不仅有START的功能,它还可以起到调用一个批处理内部子程序的功能。例如:

  CALL func1
  ......
  :func1
  子程序内容



变量引导符 %

%在bat命令中是变量引导符。使用%var%告知解释器var是一个定义好的变量。除此以外,%0到%9还有另外的功能:调用外部参数。

set name=Tsukimi
ECHO %name%



输出重定向符 > 与 >>

>的作用是将前面的结果,定向到后面的作用域中。例如:

ECHO tsuki2333 > test.txt
//将字符串写入文本文档test中

>>的作用与>相同,但是略有区别:
在上面的代码案例中如果已经存在一个test.txt,那么该命令将 覆盖 原有的test.txt文档。但是使用>>符,则不会覆盖原文档,仅仅会在原始文档的末尾 追加 新的字符串。



命令管道符 |

|命令管道符,作用是连接两条命令,将上一条命令的结果作为下一条命令的输入。示例:

dir c:/ | find "txt"
//在路径C:/ 下查找txt类型的文件



转义符 ^

^在bat中是转义字符,作用是给<,>,&转义。
另外^在行末尾还可以起到“续行”作用。例如:

ECHO name:tsukimi^
age:18^
//输出时会自动连起来一行输出



字符串界定符 " "

" "双引号在bat中是字符串界定符。作用就是把一段含有空格的字符串完整地括起来,以表示这是一整个字符串。具体来说:

//在Windows 命令提示符中,当我们想进入名字含有空格的文件夹时,会出错
//例如:
dir C:\Program Files
//可能会提示“找不到文件”
//但是,通过英文双引号括起来,就能解决此问题:
dir "C:\Program Files"



分隔符 , 与 ;

,在Windows bat命令中,等效于一个空格space
例如:

dir C:/
dir,C:/
//以上两行完全等价

;分号的作用是,分隔同一个命令作用的多个对象。例如:

dir C:/; D:/; E:/;
//上面的代码是展示C盘,D盘,E盘的文件目录
//在对多个对象执行同一条命令时,若有一个发生错误,则返回错误报告,程序继续往下执行



括号( )

( )括号在bat中,将多条或者多行语句括起来,视为一整个命令行



FOR循环基础

在Windows bat中,FOR循环是非常实用的语法。具体用法为:

FOR %%i in (...) DO ......      //批处理中

FOR %i in (...) DO ......       //CMD中

windows CMD : for/? 帮助文档
对一组文件中的每一个文件执行某个特定命令。
FOR %variable IN (set) DO command [command-parameters]

    %variable  指定一个单一字母可替换的参数。
    (set)      指定一个或一组文件。可以使用通配符。
    command    指定对每个文件执行的命令。
    command-parameters
               为特定命令指定参数或命令行开关。
  
  在批处理程序中使用 FOR 命令时,指定变量请使用 %%variable
  而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I.

如何让windows终端支持中文(不乱码)

首先,第一次编辑一个bat命令行文件时,请使用txt后缀打开,利用文本编辑软件编写完成后,使用另存为功能,将此txt文件保存为bat后缀文件。注意,在另存为的弹窗中,修改文本编码方式为ANSI即可

解决终端中文乱码问题

Windows 批处理进阶教程

活到老,学到老。每一门编程语言入门仅需几天,想要精通掌握几乎要摸爬滚打一辈子。进阶的bat知识参看下方网址:

http://bbs.bathome.net/thread-75-1-1.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值