龙空技术网

Bat批处理命令汇总

ITPro进化论 744

前言:

此刻看官们对“命令行运行bat文件”大概比较重视,同学们都需要学习一些“命令行运行bat文件”的相关文章。那么小编也在网摘上汇集了一些关于“命令行运行bat文件””的相关知识,希望我们能喜欢,你们一起来了解一下吧!

之前有详细介绍Bat批处理脚本中的各个命令,今天汇总一下,简单介绍一下批处理命令、批处理符合和常用DOS命令。

1.批处理命令简介

echo 显示消息,或者启用或关闭命令回显。

rem 在批处理文件或 CONFIG.SYS 里加上注解或说明。

pause 暂停批处理程序,并显示以下消息:请按任意键继续. . .

call 从批处理程序调用另一个批处理程序

start 启动一个单独的窗口以运行指定的程序或命令

goto 将 cmd.exe 定向到批处理程序中带标签的行

set 显示、设置或删除 cmd.exe 环境变量

2.批处理符号简介

@ 命令行回显屏蔽符

% 批处理变量引导符

> 重定向符

>> 重定向符

<、>&、<& 重定向符

^ 转义字符

& 组合命令

&& 组合命令

"" 字符串界定符

3.常用DOS命令简介

文件夹管理

cd 显示当前目录名或改变当前目录

md 创建目录

rd 删除一个目录

dir 显示目录中的文件和子目录列表

tree 以图形显示驱动器或路径的文件夹结构

path 为可执行文件显示或设置一个搜索路径

xcopy 复制文件和目录树

文件管理

type 显示文本文件的内容

copy 将一份或多份文件复制到另一个位置

del 删除一个或多个文件

move 移动文件并重命名文件和目录

ren 重命名文件

replace 替换文件

attrib 显示或更改文件属性

find 搜索字符串

fc 比较两个文件或两个文件集并显示它们之间的不同

网络命令

ping 进行网络连接测试、名称解析

ftp 文件传输

net 网络命令集及用户管理

telnet 远程登陆

ipconfig 显示、修改TCP/IP设置

msg 给用户发送消息

arp 显示、修改局域网的IP地址-物理地址映射列表

系统管理

命令 作用 at 安排在特定日期和时间运行命令和程序 shutdown 立即或定时关机或重启 tskill 结束进程 taskkill 结束进程 tasklist 显示进程列表 sc 系统服务设置与控制 reg 注册表控制台工具 powercfg 控制系统上的电源设置

4. Bat批处理常用命令汇总

echo 和 @ 回显命令

@ 关闭单行回显echo off 从下一行开始关闭回显@echo off 从本行开始关闭回显echo on 从下一行开始打开回显echo 显示当前是 echo off 状态还是 echo on 状态echo. 输出一个”回车换行”,空白行(同echo, echo; echo+ echo [ echo] echo/ echo)

errorlevel

echo %errorlevel% 每个命令运行结束,可以用这个命令行格式查看返回码,默认值为0,一般命令执行出错会设 errorlevel 为1

dir显示文件夹内容

dir 显示当前目录中的文件和子目录dir /a 显示当前目录中的文件和子目录,包括隐藏文件和系统文件dir c: /a:d 显示 C 盘当前目录中的目录dir c: /a:-d 显示 C 盘根目录中的文件dir c: /b/p /b只显示文件名,/p分页显示dir *.exe /s 显示当前目录和子目录里所有的.exe文件

cd切换目录

cd / 进入根目录cd 显示当前目录cd /d [drive:][path] 可以同时更改盘符和目录

md 创建目录

md [drive:]path 在[drive:]盘下创建名为path的目录,如果命令扩展名被停用,则需要键入 mkdir [drive:]path

rd 删除目录

rd abc 删除当前目录里的 abc 子目录,要求为空目录rd /s/q d:temp 删除 d:temp 文件夹及其子文件夹和文件,/q安静模式

del 删除文件

del d:test.txt 删除D盘下test.txt文件,要删除的文件不能是隐藏、系统、只读文件del /q/a/f d:temp*.* 删除 d:temp 文件夹里面的所有文件,包括隐藏、只读、系统文件,不包括子目录del /q/a/f/s d:temp*.* 删除 d:temp 及子文件夹里面的所有文件,包括隐藏、只读、系统文件,不包括子目录del /P 删除每一个文件之前提示确认del /F 强制删除只读文件del /S 删除所有子目录中的指定的文件del /Q 安静模式,删除全局通配符时,不要求确认del /A 根据属性选择要删除的文件,属性包括R 只读文件、S 系统文件、H 隐藏文件、A 准备存档的文件、I 无内容索引文件、L 重新分析点、O 脱机文件、- 表示“否”的前缀

ren 重命名文件

ren d:temp tmp 重命名D盘下的temp文件夹为tmp

cls 清屏

cls 清除命令窗口上显示的信息

type 显示文件内容

type c:boot.ini 显示c盘下boot.ini文件的内容,程序文件一般会显示乱码type *.txt 显示当前目录里所有.txt文件的内容

copy 拷贝文件

copy c:1.txt d:2.bak 复制c盘的1.txt 文件到 d盘,并重命名为 2.bakcopy con 1.txt 从屏幕上等待输入,按 Ctrl+C 结束输入,输入内容保存到1.txt文件,con代表屏幕,prn代表打印机,nul代表空设备copy 1.txt + 2.txt 3.txt 合并 1.txt 和 2.txt 的内容,保存为 3.txt 文件,如果不指定 3.txt ,则保存到 1.txtcopy test.txt + 复制文件到自己,实际上是修改了文件日期

title 设置cmd窗口的标题

title 新标题 修改cmd窗口的标题栏显示为新标题

ver 显示系统版本

label 和 vol设置卷标

vol 显示卷标label 显示卷标,同时提示输入新卷标label c:system 设置C盘的卷标为 system

date 和 time 日期和时间

date 显示当前日期,并提示输入新日期,按"回车"略过输入date/t 只显示当前日期,不提示输入新日期time 显示当前时间,并提示输入新时间,按"回车"略过输入time/t 只显示当前时间,不提示输入新时间

pause 暂停命令

命令窗口会显示:请按任意键继续...

rem 和 ::注释命令

注释行不执行操作

goto 和 : 跳转命令

:label 行首为:表示该行是标签行,标签行不执行操作goto label 跳转到指定的标签那一行

find 查找命令

find "abc" d:1.txt 在 d:1.txt 文件里查找含 abc 字符串的行,如果找不到,将设 errorlevel 返回码为1find /i “abc” d:1.txt查找含 abc 的行,忽略大小写find /c "abc" d:1.txt显示含 abc 的行的行数

more 逐屏显示

more d:1.txt 逐屏显示 d:1.txt 的文件内容

tree 显示目录结构

tree C: 显示C盘的文件目录结构

& :顺序执行多条命令,而不管命令是否执行成功

&& :顺序执行多条命令,当碰到执行出错的命令后将不执行后面的命令

find "ok" d:1.txt && echo 成功 如果找到了"ok"字符,就显示"成功",找不到就不显示

|| :顺序执行多条命令,当碰到执行正确的命令后将不执行后面的命令

find "ok" d:1.txt || echo 不成功如果找不到"ok"字符,就显示"不成功",找到了就不显示

| 管道命令

dir *.* /s/a | find /c ".exe" 管道命令表示先执行 dir 命令,对其输出的结果执行后面的 find 命令,该命令行结果:输出当前文件夹及所有子文件夹里的.exe文件的个数

> 和 >> 输出重定向命令

> 清除文件中原有的内容后再写入>> 追加内容到文件末尾,而不会清除原有的内容,主要将本来显示在屏幕上的内容输出到指定文件中,指定文件如果不存在,则自动生成该文件type d:1.txt >prn 屏幕上不显示文件内容,转向输出到打印机echo hello world>con 在屏幕上显示hello world,实际上所有输出都是默认 >con 的copy d:1.txt e: >nul 拷贝文件,并且不显示"文件复制成功"的提示信息,但如果e盘不存在,还是会显示出错信息copy d:1.txt e: >nul 2>nul 不显示”文件复制成功”的提示信息,并且e盘不存在的话,也不显示错误提示信息echo ^^W ^> ^W>d:1.txt 生成的文件内容为 ^W > W ,^ 和 > 是控制命令,要把它们输出到文件,必须在前面加个 ^ 符号

<

从文件中获得输入信息,而不是从屏幕上,一般用于 date time label 等需要等待输入的命令

@echo offrem 不等待输入直接修改当前日期echo 2050-05-01>riqi.txtdate <riqi.txtdel riqi.txt

%0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %* 命令行传递给批处理的参数

%0 批处理文件本身%1 第一个参数%9 第九个参数%* 从第一个参数开始的所有参数

批参数(%n)的替代已被增强,可以使用以下语法:

%~1 - 删除引号(" ), 扩充 %1%~f1 - 将 %1 扩充到一个完全合格的路径名%~d1 - 仅将 %1 扩充到一个驱动器号%~p1 - 仅将 %1 扩充到一个路径%~n1 - 仅将 %1 扩充到一个文件名%~x1 - 仅将 %1 扩充到一个文件扩展名%~s1 - 扩充的路径指含有短名%~a1 - 将 %1 扩充到文件属性%~t1 - 将 %1 扩充到文件的日期/时间%~z1 - 将 %1 扩充到文件的大小%~$PATH : 1 - 查找列在 PATH 环境变量的目录,并将 %1扩充到找到的第一个完全合格的名称。如果环境变量名未被定义,或者没有找到文件,此组合键会扩充到空字符串

可以组合修定符来取得多重结果:

%~dp1 - 只将 %1 扩展到驱动器号和路径%~nx1 - 只将 %1 扩展到文件名和扩展名%~dp$PATH:1 - 在列在 PATH 环境变量中的目录里查找 %1,并扩展到找到的第一个文件的驱动器号和路径。%~ftza1 - 将 %1 扩展到类似 DIR 的输出行。echo load "%%1" "%%2">d:1.txt 生成的文件内容为 load "%1" "%2" 批处理文件里,用这个格式把命令行参数输出到文件

if 判断命令

if "%1"=="/a" echo 第一个参数是/aif /i "%1" equ "/a" echo 第一个参数是/a/i 表示不区分大小写,equ 和 == 是一样的

setlocal 和 endlocal设置”命令扩展名”和”延缓环境变量扩充”

SETLOCAL ENABLEEXTENSIONS 启用"命令扩展名"SETLOCAL DISABLEEXTENSIONS 停用"命令扩展名"SETLOCAL ENABLEDELAYEDEXPANSION 启用"延缓环境变量扩充"SETLOCAL DISABLEDELAYEDEXPANSION 停用"延缓环境变量扩充"ENDLOCAL 恢复到使用SETLOCAL语句以前的状态“命令扩展名”默认为启用“延缓环境变量扩充”默认为停用批处理结束系统会自动恢复默认值所以用到"命令扩展名"的程序,建议在开头和结尾加上 SETLOCAL ENABLEEXTENSIONS 和 ENDLOCAL 语句,以确保程序能在其它系统上正确运行"延缓环境变量扩充"主要用于 if 和 for 的符合语句

set 设置变量

引用变量可在变量名前后加 % ,即 %变量名%set 显示目前所有可用的变量,包括系统变量和自定义的变量set p 显示所有以p开头的变量,要是一个也没有就设errorlevel=1

start

批处理中调用外部程序的命令,否则等外部程序完成后才继续执行剩下的指令

call

批处理中调用另外一个批处理的命令,否则剩下的批处理指令将不会被执行有时有的应用程序用start调用出错的,也可以call调用

xcopy 文件拷贝

xcopy d:temp e:temp /s/e/i/y 复制 d:temp 文件夹、所有子文件夹和文件到 e: ,覆盖已有文件加 /i 表示如果 e: 没有 temp 文件夹就自动新建一个,否则会有询问.

标签: #命令行运行bat文件 #bat删除txt文件中指定字符 #bat删除txt文件中指定字符串