网站模板源代码,上海做淘宝网站,天眼查企业查询官网网页版,wordpress 事件插件BAT脚本基础笔记(一)
介绍
费曼学习法最重要的部分#xff0c;即把知识教给一个完全不懂的孩子——或者小白。 为了更好的自我学习#xff0c;也为了让第一次接触某个知识范畴的同学快速入门#xff0c;我会把我的学习笔记整理成电子幽灵系列。 提示#xff1a;作为低代码…BAT脚本基础笔记(一)
介绍
费曼学习法最重要的部分即把知识教给一个完全不懂的孩子——或者小白。 为了更好的自我学习也为了让第一次接触某个知识范畴的同学快速入门我会把我的学习笔记整理成电子幽灵系列。 提示作为低代码工具的笔记这里会用特殊字体表示要用到的函数等等。请若要学习请结合相关工具边用边学。 BAT基础笔记一 BAT脚本基础笔记(一)介绍简介在哪里编写BAT代码 BAT基本语法1. 基本命令结构2. 注释3. 变量变量定义变量调用变量运算字符串字符串替换数学运算 4. 常用基本命令--基本文件操作5. 打印、输入、输出命令:echo7. 条件语句if 语句比较运算符三元运算符: 和 || 8. 循环for 循环while 循环 9. 脚本执行 总结 本篇笔记通过对各种资料学习总结得到。
简介
BAT脚本是主要用于Windows操作系统中的一种批处理脚本。所谓批处理就是一次性处理一批指令。这些命令通常是可以在命令提示符cmd中手动输入的但通过将它们编写成一个脚本文件可以实现自动化操作大大提高工作效率。BAT脚本文件的扩展名为 .bat用户可以通过双击这个文件来运行其中的所有命令。
BAT脚本可以用来管理文件和文件夹、运行其他程序、网络配置等任务。它支持变量、条件判断、循环等功能使得脚本编写更加灵活和强大。然而BAT脚本也有其局限性比如错误处理能力较差编写复杂的脚本时可能会比较困难。
需要注意的是虽然BAT脚本在自动化任务方面很有用但由于其执行的命令可能具有很高的权限因此编写和使用BAT脚本时需要谨慎避免执行到恶意代码或命令造成不必要的损失。
在哪里编写BAT代码
编写BAT脚本主要是在Windows操作系统中进行的。编写BAT脚本有很多种方法这里不妨列出一些 记事本 Windows自带的记事本可以用来编写和保存BAT脚本文件。编写完成后只需将文件保存为 .bat格式即可。这种方式简单直接很多新手在第一次接触BAT脚本时就是使用这种方式编写简单的BAT脚本代码。 但是简单直接有时意味着简陋。每次编写都需要转换文件格式并(有时会)处理一些繁琐的报错。而且你无法得知自己写出的脚本是否存在某些问题会带来不必要的风险。大批量的脚本编写不应当直接使用记事本。 Notepad 这是一个更强大的文本编辑器支持多种编程语言的语法高亮和代码折叠等功能可以更方便地编写BAT脚本。Notepad是一个免费的开源软件可以在其官方网站下载。 Visual Studio Code VSCode里面当然有支持BAT编写的插件啦。在VSCode里面就可以无视 .bat格式直接撰写脚本。bat-snippets插件可以帮助你快速插入常用的BAT代码片段Bash Debug插件可以帮助你调试BAT脚本。其他的AI代码补全也可以帮你写作。 PowerShell ISE 如果你打算编写更复杂的脚本PowerShell可能是一个更合适的选择。PowerShell ISE集成脚本环境是Windows自带的脚本编辑器专门为PowerShell脚本设计支持语法高亮、调试等功能。 Bat To Exe Converter 这个工具可以帮助你将BAT脚本转换为可执行文件.exe。它是一个免费的软件可以将BAT脚本转换为标准的可执行文件并且提供了一些附加选项如隐藏源代码、设置图标等。
我使用的是VSCode编写。一是平时写代码就用VSCode二是VSCode插件很多几乎一体化也可以帮助我写BAT脚本。
BAT基本语法
按编译和解释分类现代的编程语言可以分为编译性语言和解释性语言。编译型语言需要编译器翻译成二进制机器码然后才能运行而解释型语言由解释器逐行解释执行不需要预编译。BAT就是一种解释型脚本语言这一点它与Python十分相似。
1. 基本命令结构
.bat 文件中的命令结构与直接在命令提示符中输入的命令类似
command [options] [arguments]command要执行的命令。options可选参数通常以 / 开头。arguments传递给命令的参数。
2. 注释
BAT只支持逐行注释。共有两种 ::和 rem
:: 这行代码被注释掉了它不会被终端回显
rem 这行代码也被注释掉了但是如果打开了回显他会显示在命令行终端上3. 变量
变量定义
变量定义时不需要声明类型直接赋值即可
set MY_VARHello, World!注意事项: 在给变量赋值时变量名和等号间绝对不可以有空格这样会导致赋值失败因此变量名里也绝不可以有 。
变量调用
使用 % 符号引用变量
echo %MY_VAR%
echo %PATH%::是的环境变量也可以使用相同的引用方式变量运算
字符串
字符串拼接
当给一个变量赋值为字符串时我们并不需要把字符串两侧都加上引号。
set GREETINGHello
set NAMEWorld
echo %GREETING%, %NAME%!
set Unint%GREETING% %NAME%
echo %Unint%在上面的例子当中两次echo输出的结果是相同的。
字符串替换
set命令替换
用set命令进行字符串替换的格式如下:%变量名:待替换字符替换后字符%
如果替换后字符为空(即等号后直接跟 %),则可以删除子字符串。
如果待替换字符有多个会全部替换。
例子:
set varHello, World!
set var%var:WorldUniverse%
echo %var%输出
Hello, Universe!数学运算
批处理脚本本身不直接支持复杂的数学运算如浮点数运算但可以通过一些方法进行基本的整数运算。 使用 set /a 进行算术运算 set a123
set b456
set c%a%%b%
echo %c%
set /a cab
echo %c%输出 123456::变量默认以字符串的形式储存当没有额外参数时变量之间的运算默认采取字符串方式运算。
579支持的运算符 加法-减法*乘法/除法整数除法%取模余数按位与|按位或^按位异或!按位非左移右移 示例
以下是一些使用 set /a 进行整数运算的示例 set /a a123456set /a b123-456set /a c123*456set /a d123/45set /a e123%45echo %a%echo %b%echo %c%echo %d%echo %e%输出 5793356088233注意事项:
set /a 只能进行整数运算。浮点数运算在批处理脚本中不直接支持但可以通过调用外部工具如 calc.exe 或 powershell来实现。不支持复杂的数学表达式如括号运算但可以通过多次 set /a 命令来实现类似的效果。
所以bat本身支持的运算不多但是可以使用外部工具进行浮点数运算。
例如,可以通过调用 PowerShell 来进行浮点数运算:
echo off
set a123.45
set b45.67
powershell -Command $a %a%; $b %b%; $c $a $b; Write-Output $c输出
169.124. 常用基本命令–基本文件操作
dir # 列出目录内容
cd # 更改目录
mkdir # 创建目录
rmdir # 删除目录
del # 删除文件
copy # 复制文件或目录
move # 移动或重命名文件或目录
type # 显示文件内容以下是这些命令的用法及其执行后的效果 dir 用法dir执行后列出当前目录下的所有文件和子目录的名称、大小、修改日期等信息。 cd
用法cd 路径\到\目录执行后更改当前工作目录到指定的路径。例如如果当前目录是 C:\Users\你的用户名输入 cd C:\Program Files后当前目录将变为 C:\Program Files。
mkdir
用法mkdir 新目录名执行后在当前目录下创建一个名为“新目录名”的新目录。
rmdir
用法rmdir 空目录名执行后删除当前目录下的一个空目录。如果目录非空命令会失败。
del
用法del 文件名.txt执行后删除当前目录下的指定文件。如果文件不存在会报错。
copy
用法copy 源文件.txt 目标路径\执行后将“源文件.txt”复制到“目标路径”下保留原文件。
move
用法move 旧文件名.txt 新路径\新文件名.txt执行后将“旧文件名.txt”移动到“新路径”下并可以同时重命名为“新文件名.txt”。如果新路径不存在命令会失败。
type
用法type 文件名.txt执行后在命令提示符窗口显示指定文本文件的内容。
5. 打印、输入、输出命令:echo 打印文本 示例echo 你好世界执行后在命令提示符窗口中输出“你好世界”。 显示变量的值 示例set 变量名值示例echo %变量名%执行后首先设置一个名为“变量名”的变量其值为“值”。然后echo %变量名% 命令会输出该变量的值。 输入文件 示例echo 这是文件内容 文件名.txt执行后将“这是文件内容”写入“文件名.txt”文件中。如果文件已经存在其内容将被覆盖。示例echo 这是追加的内容 文件名.txt执行后将“这是追加的内容”追加到“文件名.txt”文件的末尾不会覆盖原有内容。
7. 条件语句
if 语句
if condition (commands
)例如
if %MY_VAR%Hello, World! (echo 变量匹配
)比较运算符
等于字符串比较!不等于字符串比较EQU等于整数比较NEQ不等于整数比较LSS小于整数比较LEQ小于等于整数比较GTR大于整数比较GEQ大于等于整数比较EXIST文件存在NOT EXIST文件不存在
三元运算符: 和 ||
前一个命令成功时执行后一个命令。||前一个命令失败时执行后一个命令。
dir file.txt echo 文件存在 || echo 文件不存在8. 循环
for 循环
for %%var in (list) do (::这里的%%var表示变量名,这个用法只能且必须用在循环变量中。commands
)例如
for %%i in (1 2 3 4 5) do (echo 循环变量 i 是 %%i
)while 循环
.bat 文件本身不直接支持 while 循环但可以通过 goto 和 if 语句模拟
echo off
set count1
:loop
if %count% leq 5 (echo 计数器是 %count%set /a count1goto loop
)9. 脚本执行
编写完 .bat 文件后可以直接在命令提示符中运行
script.bat
script::bat文件的特权:当运行它的时候不需要加上它的后缀。总结
BAT脚本语言是以各种bash命令为主导的和其他编程语言有着类似的功能如支持条件分支、循环遍历、变量与运算等等也有他自己的独特之处即主要组织各种文件及其内容。下一篇笔记中将会涉及更多有关组织多个文件的BAT脚本用法。 如果真有所谓运势那大概是吸收天地灵气得到的一些Buff