bat命令学习笔记(一)

start

eg1
@echo off

start /d "D:\Firefox\" firefox.exe

exit
语法

start + /d + 程序路径 + 程序可运行文件(exe)

可选参数

/min 最小化窗口打开
/max 最大化窗口打开

eg2
start explorer d:\
解析

打开d盘


rem和::

eg1
@echo on

:: 这是注释

pause
结果

这里写图片描述

eg2
@echo on

rem 这是注释

pause
结果

这里写图片描述

俩者区别

::在echo on的情况下回显命令,rem则不回显


echo和@

eg1
@echo off

rem 这是注释

pause
结果

这里写图片描述

解析

与上一小节eg2对比,可以看出echo on为开启命令回显,echo off为关闭命令回显

与@的区别

@命令在echo on开启的情况依旧使该命令不回显

eg2
echo.

解析

echo后面紧跟“.”表示输出空行

eg3
echo
解析

显示当前echo状态,即是on或是off

eg4
echo msg
解析

直接输出信息,相当于Java的syso

eg5
echo off
echo on
解析

dos命令行中直接输入上述俩个命令之一可以关闭或开启dos提示符的显示,直到输入相反的命令

eg6
@echo off

echo '测试'>F:/test.txt

pause
解析

将文本内容输出到文件中

eg7
@echo off

echo 追加的内容>>F:/test.txt

pause
解析

追加内容至文档中,默认新起一行


pause

解析

按任意键继续


title

设置窗口标题


color

设置控制台前景色和背景色


mode

配置系统设备

eg
mode con cols=113 lines=15 & color 9f
解析

配置窗口列数和行数

语法
串行口:      MODE COMm[:] [BAUD=b] [PARITY=p] [DATA=d] [STOP=s]
                                [to=on|off] [xon=on|off] [odsr=on|off]
                                [octs=on|off] [dtr=on|off|hs]
                                [rts=on|off|hs|tg] [idsr=on|off]
设备状态:      MODE [device] [/STATUS]
打印重定向:   MODE LPTn[:]=COMm[:]
选定代码页:   MODE CON[:] CP SELECT=yyy
代码页状态:   MODE CON[:] CP [/STATUS]
显示模式:      MODE CON[:] [COLS=c] [LINES=n]
击键率:       MODE CON[:] [RATE=r DELAY=d]

goto和:

: 设置标签
goto: 跳转至标签


assoc和ftype

assoc           #显示所有'文件扩展名'关联
assoc .txt      #显示.txt代表的'文件类型',结果显示 .txt=txtfile
assoc .doc      #显示.doc代表的'文件类型',结果显示 .doc=Word.Document.8
assoc .exe      #显示.exe代表的'文件类型',结果显示 .exe=exefile
ftype           #显示所有'文件类型'关联
ftype exefile   #显示exefile类型关联的命令行,结果显示 exefile="%1" %* 
assoc .txt=Word.Document.8
设置.txt为word类型的文档,可以看到.txt文件的图标都变了
assoc .txt=txtfile
恢复.txt的正确关联

call

eg1(调用外部程序)
@echo off

call C:\Users\wyc\Desktop\sub.bat

echo 1
echo 2


pause
结果

这里写图片描述

eg2(调用内部程序)
@echo off

call :sub

echo 1
echo 2

:sub
echo 3
echo 4


pause
结果

这里写图片描述

备注

此处按了俩次任意键

find

语法

FIND [/V] [/C] [/N] [/OFF[LINE]] “string” [[drive:][path]filename[ …]]

eg1(不加任何参数)
@echo off

echo 1111 >test.txt
echo 2222 >>test.txt

find "1111" test.txt

del test.txt
pause
结果

这里写图片描述

eg2(参数V)
@echo off

echo 1111 >test.txt
echo 2222 >>test.txt

find /V "1111" test.txt

del test.txt
pause
结果

这里写图片描述

eg3(参数C)(count)
@echo off

echo 1111 >test.txt
echo 2222 >>test.txt

find /C "1111" test.txt

del test.txt
pause
结果

这里写图片描述

eg4(参数N)
@echo off

echo 1111 >test.txt
echo 2222 >>test.txt

find /N "1111" test.txt

del test.txt
pause
结果

这里写图片描述

eg5(参数I)(ignore)
@echo off

echo 1111 >test.txt
echo 2222 >>test.txt
echo aaaa >>test.txt

find /I "AAAA" test.txt

del test.txt
pause
结果

这里写图片描述

shift

解析

命令从第 n 个参数开始移位,每次移一位;n 介于零和八之间

@echo off


call sub.bat 1 2 3 4 5 6
pause
eg1
@echo off

shift /0
echo %1+","+%2+","+%3+","+%4
结果

这里写图片描述

备注

shift /1结果和上图相同

eg2
@echo off

shift /2
echo %1+","+%2+","+%3+","+%4
结果

这里写图片描述

eg3
@echo off

shift /3
echo %1+","+%2+","+%3+","+%4
结果

这里写图片描述

if

语法

IF [NOT] ERRORLEVEL number command
IF [NOT] string1==string2 command
IF [NOT] EXIST filename command

eg1(成功的情况)
@echo off

dir c:

if errorlevel 1 goto 1
if errorlevel 0 goto 0

:0
echo 命令执行成功
goto exit
:1
echo 命令执行失败
goto exit
:exit

pause

这里写图片描述

eg2(失败的情况)
@echo off

dir g:

if errorlevel 1 goto 1
if errorlevel 0 goto 0

:0
echo 命令执行成功
goto exit
:1
echo 命令执行失败
goto exit
:exit

pause
结果

这里写图片描述

eg3
@echo off

if abc==abc echo 相等
if not abc==abc echo 不相等 
rem 注意echo这条命令不要换行
pause
结果

这里写图片描述

eg4
@echo off

if exist test.txt echo 存在
if not exist test.txt echo 不存在 

pause

这里写图片描述

set

变量延迟

eg1
@echo off
set str=a

if %str%==a (
    set str=b
    echo %str%  
)
pause
结果

这里写图片描述

取消变量延迟

eg2
@echo off
setlocal enabledelayedexpansion
set str=a

if %str%==a (
    set str=b
    echo !str!
    echo %str%  
)
pause

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值