@echo off
::设置变量
SET sender=%0
SET message=%1
::字符串拼接
SET add=%sender%%message%
::字符串截取
SET con=%message:~1,-1%
::字符串替换
SET INPUT_PARAM=world
echo %INPUT_PARAM:world=China%
::以时间命名文件
SET FILE_NAME=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%.txt
echo %FILE_NAME%
:: /c按键列表 /m提示内容 /d默认选择 /t等待秒数 /d 必须和 /t同时出现
choice /c abcde /m "请输入" /d c /t 5
::用户选择的结果会按项目序号数字(从1开始)返回在errorlevel变量中
if %errorlevel%==1 echo 你选择了a
if %errorlevel%==2 echo 你选择了b
if %errorlevel%==3 echo 你选择了c
if %errorlevel%==4 echo 你选择了d
if %errorlevel%==5 call D:\TmpScr\BAT\aa.bat
::启动单独的“命令提示符”窗口来运行指定程序或命令
start "标题显示" /min D:\TmpScr\BAT\aa.bat
::type 显示文本内容,type 文件名 | find "关键字"
type D:\TmpScr\BAT\123.txt | find "12"
::set /p 变量=等待输入的提示字
set /p value=请输入值
echo 您输入了:%value%
:: if "字符串"=="字符串"(判断两个字符串是否相等)
if %value%==123 (echo 输入正确) else (echo 输入错误)
::set /a 变量=公式
set /a value1=1+2*6
echo value1=%value1%
:: if exist 文件名(查看该文件是否存在)
if exist 123.txt (echo this file exist) else (echo this file not exist)
::for /l ....该集表示以增量形式从开始到结束的一个数字序列。
for /l %%a in (1,1,10) do (echo %%a)
::搜索当前目录下所有文件
for %%i in (*.*) do echo "%%i"
::搜索当前目录下所有的文本文件
for %%i in (*.txt) do echo "%%i"
::goto 跳转执行标签
set /p input=请输入数字(1?2?3?)
if %input%==1 (goto output1) else if %input%==2 (goto output2) else (echo byebye)
:output1
echo hello
:output2
echo hey
::& 顺序执行多条命令,而不管命令是否执行成功
::&& 顺序执行多条命令,当碰到执行出错的命令后将不执行后面的命令
::|| 顺序执行多条命令,当碰到执行正确的命令后将不执行后面的命令(即:只有前面命令执行错误时才执行后面命令)
::| 管道命令 前一个命令的执行结果输出到后一个命令 如:help | more
::> 清除文件中原有的内容后再写入
::>> 追加内容到文件末尾,而不会清除原有的内容主要将本来显示在屏幕上的内容输出到指定文件中指定文件如果不存在,则自动生成该文件
::使用setloacl ENABLEDELAYEDEXPANSION这个命令来启用\"延迟环境变量扩展\",遇到的变量需要用!变量!进行替换。
setlocal ENABLEDELAYEDEXPANSION
for %%i in (1,1,5) do (
set var=%%i
echo !var!)
::exit 退出当前DOS控制台
set /p iput=请输入字符
if %iput%==q (exit) else (echo 输入字符为:%iput%)
pause