目录
一、編碼發展史
二、Bat運行順序
1、Bat是從上到下逐句運行的。
三、一些Bat元素
1、@和echo off
2、注釋
3、pause
4、errorlevel
5、title
6、COLOR
7、GOTO label 和 :label
8、FIND
9、START
目录
一、編碼發展史
二、Bat運行順序
1、Bat是從上到下逐句運行的。
三、一些Bat元素
1、@和echo off
2、注釋
3、pause
4、errorlevel
5、title
6、COLOR
一、編碼發展史
① ASCII编码方案阶段 → ② ANSI编码方案阶段 → ③ Unicode/UCS编码方案阶段。
二、Bat運行順序
1、Bat是從上到下逐句運行的。
“從上到下,逐句”,並不意味著是犟牛絕對不能回頭。只是說在不指定的情況下,它會尋找下一句,後面的可執行代碼,直到結束。反之,指定了下一句,它也會回頭。
三、一些Bat元素
1、@和echo off
“@”和“echo off”都是用來禁止“命令回顯”。就是執行以後控制台不顯示代碼,只顯示返回結果。不同之處在於“@”只禁止後面一條命令回顯;“echo off”禁止之後所有命令回顯,直到“echo on”。
2、注釋
注釋使用“rem”或“::”,都是表示後面“一行”內容為注釋。
不同之處在於“rem”是正規命令,“回顯開啟”狀態會回顯。“::”不正規,“回顯開啟”狀態不會回顯。
3、pause
請按任意鍵繼續...,調試代碼用,防止代碼一閃而過。
4、errorlevel
系統變量——程序執行返回值。0代表正常,1或者其它数字代表错误。
5、title
title 第一次修改标题
↓
6、COLOR
COLOR指令设置控制台的前景色和背景色
使用指令"color /?",即可查看color的颜色表
颜色表
示例:
color 0A:设置前景色为黑色,背景色为淡绿色
运行结果:
7、GOTO label 和 :label
配合跳轉,執行“:label”後的語句。label可以為任意自定義變量。只有“:label”,沒有“goto label”直接忽略即可。反之,只有“goto label”,沒有“:label”,會報錯:找不到“label”。
8、FIND
FIND指令,在文件中搜索字符串
FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]
/V 显示所有未包含指定字符串的行。
/C 仅显示包含字符串行的次数。
/N 显示行号。
/I 搜索字符串时忽略大小写。
/OFF[LINE]:不要跳过具有脱机属性集的文件。
"string":指定要搜索的文本字符串。
[drive:][path]filename:指定要搜索的文件
示例:
@echo off
echo "temp.txt文件内容"
type .\temp.txt
echo.
echo "显示所有未包含指定字符串的行"
find /v "床" .\temp.txt
echo ------------分割线--------------
echo "仅显示包含字符串的行数"
find /c "hello world" .\temp.txt
echo ------------分割线--------------
echo "显示行号"
find /n "低头" .\temp.txt
echo ------------分割线--------------
echo "搜索字符串时忽略大小写"
find /i "hello world" .\temp.txt
pause
运行结果:
9、START
START指令,批处理中调用外部程序命令(该外部程序在新的窗口中运行,批处理程序继续往下执行,不理会外部程序执行的情况),如果直接运行外部程序则必须等待外部程序完成后才可以继续执行剩余的指令
START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
[/NODE <NUMA node>] [/AFFINITY <hex affinity mask>] [/WAIT] [/B]
[command/program] [parameters]
"title" Title to display in window title bar.
path Starting directory.
B Start application without creating a new window. The
application has ^C handling ignored. Unless the application
enables ^C processing, ^Break is the only way to interrupt
the application.
I The new environment will be the original environment passed
to the cmd.exe and not the current environment.
MIN Start window minimized.
MAX Start window maximized.
SEPARATE Start 16-bit Windows program in separate memory space.
SHARED Start 16-bit Windows program in shared memory space.
LOW Start application in the IDLE priority class.
NORMAL Start application in the NORMAL priority class.
HIGH Start application in the HIGH priority class.
REALTIME Start application in the REALTIME priority class.
ABOVENORMAL Start application in the ABOVENORMAL priority class.
BELOWNORMAL Start application in the BELOWNORMAL priority class.
NODE Specifies the preferred Non-Uniform Memory Architecture (NUMA)
node as a decimal integer.
AFFINITY Specifies the processor affinity mask as a hexadecimal number.