以下是关于批处理命令的详细介绍和使用指南,旨在帮助您更好地理解和应用这些命令。
解决乱码问题
要解决批处理文件中的中文乱码问题,可以使用以下命令:
chcp 65001
这会将命令提示符的编码设置为UTF-8,从而正确显示中文字符。
乱码测试
以下是测试乱码的代码:
echo off cls echo 中文输出测试 pause

中文测试

对应编码对照表如下:
| 代码页 | 映射的字符集 |
|---|---|
| 936 | GB2312 |
| 20127 | US-ASCII |
| 65001 | UTF-8 |
批处理基础命令
批处理有很多有趣的命令,学习这些命令可以让您更高效地完成任务。以下是一些基础命令:
-
语句注释
rem
行注释,可以回显(语句会在命令行中显示)。::
两个冒号,效果同上,但不会回显。(冒号后加任意非字母数字字符都可起到注释作用)。
-
暂停
pause
暂停,命令行中出现"请按任意键继续..."。
-
输出和换行
echo
后加内容即输出该内容,如:echo "welcome!"
。echo.
换行命令,即echo
后加一个点。
-
关闭路径显示
echo off
关闭路径显示。
-
开启
start
开启(一个神奇的命令,相当好用)。可以通过start
开启你想开启的一切(给个执行路径就行,网站都能打开)。
start http://www.baidu.com

当然,不仅仅用于打开网站,还有文件夹,文件。
-
创建文件夹
md
创建文件夹,很多时候都是为了方便搞这个文件夹,md
直接创建很方便,删的时候直接del
+ 文件夹名称就删掉了。
-
延迟
timeout
延迟,虽然不是很经典的命令,但是很多时候能给你带来一点欢乐。
@echo off ::每隔一秒输出兔子序列 set a=1 set b=1 echo %a%&timeout 1 >nul echo %b%&timeout 1 >nul :start set /a c=a+b echo %c%&set a=%b%&set b=%c% timeout 1 > nul goto start pause
-
if 语句判断
-
if
表示将判断是否符合规定的条件,从而决定执行不同的命令。有三种格式:
网奇英文商城外贸系统下载网奇Eshop是一个带有国际化语言支持的系统,可以同时在一个页面上显示全球任何一种语言而没有任何障碍、任何乱码。在本系统中您可以发现,后台可以用任意一种语言对前台进行管理、录入而没有阻碍。而任何一个国家的浏览者也可以用他们的本国语言在你的网站上下订单、留言。用户可以通过后台随意设定软件语言,也就是说你可以用本软件开设简体中文、繁体中文与英文或者其他语言的网上商店。网奇Eshop系统全部版本都使用模
-
IF 语法:
if [not] "参数" == "字符串" 待执行的命令
参数如果等于(
not
表示不等,下同)指定的字符串,则条件成立,运行命令,否则运行下一句。(注意是两个等号)示例:
if "%1" == "a" format a: if {%1} == {} goto noparms -
if exist 语法:
if [not] exist [路径\\]文件名 待执行的命令
如果有指定的文件,则条件成立,运行命令,否则运行下一句。
示例:
if exist config.sys edit config.sys if exist config.sys type config.sys
-
if errorlevel number 语法:
if [not] errorlevel 待执行的命令
如果程序返回值等于指定的数字,则条件成立,运行命令,否则运行下一句。(返回值必须按照从大到小的顺序排列)
示例:
@echo off XCOPY F:\\test.bat D:\\ IF ERRORLEVEL 1 (ECHO 文件拷贝失败) Else IF ERRORLEVEL 0 ECHO 成功拷贝文件 pause
很多 DOS 程序在运行结束后会返回一个数字值用来表示程序运行的结果(或者状态),称为错误码
errorlevel
或称返回码。常见的返回码为 0、1。通过if errorlevel
命令可以判断程序的返回值,根据不同的返回值来决定执行不同的命令。 -
else 语法:
if 条件 (成立时执行的命令) else (不成立时执行的命令)
如果是多个条件,建议适当使用括号把各条件包起来,以免出错。
示例:
if 1 == 0 ( echo comment1 ) else if 1==0 ( echo comment2 ) else (echo comment3)
注:如果
else
的语句需要换行,if
执行的行尾需用“^”连接,并且if
执行的动作需用括号包起来,否则报错。示例:
if 1 == 0 ( echo comment1 ) else if 1==0 ( echo comment2 ) ^ else (echo comment3)
-
比较运算符:
EQU
- 等于(一般使用“==”)NEQ
- 不等于(没有 “!=”,改用“ if not 1==1 ”的写法)LSS
- 小于LEQ
- 小于或等于GTR
- 大于GEQ
- 大于或等于
-
-
循环在批处理中使用得并不多,
if判断非常重要,掌握好这些命令可以帮助您完成一些较为复杂的任务。不过,对于更复杂的任务,编写代码可能更为可靠。








