百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程文章 > 正文

Windows系统bat批处理常用命令(一)

qiyuwang 2025-04-08 17:54 6 浏览 0 评论

一、批处理中常用的命令:

@命令 :

加在每个命令行的最前面,表示运行时不显示这一行的命令行。

eg: @echo off // 不显示后续命令行及当前命令行

attrib 设置文件属性

ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [[drive:] [path] filename] [/S [/D]]

+ 设置属性。

- 清除属性。

R 只读文件属性。

A 存档文件属性。

S 系统文件属性。

H 隐藏文件属性。

[drive:][path][filename] 指定要处理的文件属性。

/S 处理当前文件夹及其子文件夹中的匹配文件。

/D 也处理文件夹。 /d 必须和/s一起使用

eg: attrib –h d:\ pagefile.sys 消除d:\ pagefile.sys的“隐藏”属性。

call 命令:

调用另一个批处理文件(如果不用 call 而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)。

格式:CALL [drive:][path]filename [batch-parameters]

参数:[drive:][path]filename指定要调用的批处理程序的名字及其存放处。文件名必须用.BAT作扩展名。

batch-parameters指定批处理程序所需的命令行信息

cd 目录切换命令

cd ..

copy(复制文件)

eg: copy c:\123 d:\abc


xcopy(复制文件夹)

/s 复制非空的目录和子目录。

/E 复制所有子目录,包括空目录。

/H 复制具有隐藏和系统文件属性的文件。默认情况下xcopy 不复制隐藏或系统文件。

/T 只复制子目录结构(即目录树),不复制文件。要复制空目录,必须包含 /e选项.

/Y 同名文件禁止提示您确认要覆盖现存的目标文件,直接覆盖。

DEL 删除命令

ERASE 删除命令

/P 删除每一个文件之前提示确认。

/F 强制删除只读文件。

/S 从所有子目录删除指定文件。

/Q 安静模式。删除全局通配符时,不要求确认。

/A 根据属性选择要删除的文件。

attributes

R 只读文件

S 系统文件

H 隐藏文件

A 存档文件

- 表示“否”的前缀

eg: del /ar /s d:\123\*.* 删除d:\123目录及其子目录下所有只读属性的文件。

dir 列举文件名命令

/P 分页显示

/B 只列出文件名称

/a 列出指定属性的文件

eg: DIR /a: attributes(冒号可以省略, attributes换成以下内容)

attributes

D 目录

R 只读文件

H 隐藏文件

A 准备存档的文件

S 系统文件

- 表示“否”的前缀

eg: /ah 列出隐含的文件

eg: /ad 列出文件夹

eg: /ad-h 列出所有的文件夹,但不包含隐含的文件夹。

/o

eg: DIR /o: sortorder (冒号可以省略,sortorder换成以下内容)

sortorder

N 按名称(字母顺序)

S 按大小(从小到大)

E 按扩展名(字母顺序)

D 按日期/时间(从先到后)

G 组目录优先

- 颠倒顺序的前缀

eg: dir /on 按照文件名的字母顺序排列

echo 输出命令:

打印此命令后的字符。字符不需要使用引号。其中%和^两个字符不能显示。

eg:echo 123>myfile.txt

echo off 命令:

表示在此语句后所有运行的命令都不显示命令行本身。即关闭 echo回显功能。可以使用 echo on 打开。

find 在文件中搜索字符串。

FIND [/V] [/C] [/N] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]

/V 显示所有未包含指定字符串的行。

/C 仅显示包含字符串的行数。

/N 显示行号。

/I 搜索字符串时忽略大小写。

/OFF[LINE] 不要跳过具有脱机属性集的文件。

"string" 指定要搜索的文字串,

[drive:][path]filename 指定要搜索的文件。

eg: find "abc" d:\abc.txt在abc.txt中查找字符串abc的行。

forfiles 选择一个或一组文件(查询帮助信息 D:\>forfiles /?)

/p 指定的路径

/s 包括子目录

/m 查找的文件名掩码

/d 指定日期,有绝对日期和相对日期, 此处-7指当前日期 的7天前

/c 后接运行的命令行,表示为每个文件执行的命令。命令字符串应该用双引号括起来。

eg: /c "cmd /c echo @file"。

下列变量可以用在命令字符串中:

@file - 返回文件名。

@fname - 返回不带扩展名的文件名。

@ext - 只返回文件的扩展。

@path - 返回文件的完整路径。

@relpath - 返回文件的相对路径。

@isdir - 如果文件类型是目录,返回 "TRUE";如果是文件,返回 "FALSE"。

@fsize - 以字节为单位返回文件大小。

@fdate - 返回文件上一次修改的日期。

@ftime - 返回文件上一次修改的时间。

eg: forfiles /p c:/ /s /m *.bat /c"cmd /c echo @file is a batch file"要列出驱动器 C:上的所有批处理文件

eg: forfiles /p c:/ /s /m *.* /d -100 /c"cmd /c echo @file :date >= 100 days"要列出驱动器 C: 上存在时间多于 100 天的所有文件.

eg: forfiles /p "%DATADIR%" /s /m *.* /d -14 /c "cmd /c del @path" 删除14天前的备份.

cmd 启动 Windows 命令解释器的一个新实例(查询帮助信息 D:\>cmd /?)

/C 执行字符串指定的命令然后终止

/K 执行字符串指定的命令但保留

/S 修改 /C 或 /K 之后的字符串处理(见下)

/Q 关闭回显

/D 禁止从注册表执行 AutoRun 命令(见下)

/A 使向管道或文件的内部命令输出成为 ANSI

/U 使向管道或文件的内部命令输出成为Unicode

/T:fg 设置前台/背景颜色(详细信息见 COLOR /?)

/E:ON 启用命令扩展

/E:OFF 禁用命令扩展

/F:ON 启用文件和目录名完成字符

/F:OFF 禁用文件和目录名完成字符

/V:ON 使用 ! 作为分隔符启用延迟的环境变量扩展。

md 创建文件夹

eg: md “d:\my game”

move 移动文件(夹) (MOVE可以跨分区移动文件,不可以跨分区移动文件夹。)

MOVE [/Y | /-Y] [drive:][path]filename1[,...] destination 要移动至少一个文件:

MOVE [/Y | /-Y] [drive:][path]dirname1 dirname2要重命名一个目录

/Y 取消确认改写一个现有目标文件的提示。

/-Y 对确认改写一个现有目标文件发出提示。

pause 命令:

运行此句会暂停批处理的执行并在屏幕上显示 Press any key to continue... 的提示,等待用户按任意键后继续。 如果不想显示以上英文提示信息,可以这样写: pause>null

rem 命令:

表示此命令后的字符为解释行(注释),不执行,只是给自己今后参考用的(相当于程序中的注释)。

:: 命令:

与 rem 命令等效。

RD [/S] [/Q] [drive:]path 删除文件夹(在不加任何参数时,rd命令只能删除空的文件夹。)

/S 除目录本身外,还将删除指定目录下的所有子目录和文件。用于删除目录树。

/Q 安静模式,带/S 删除目录树时不要求确认

echo Y|rd /s c:\abc 删除abc文件夹,不询问

rmdir

ren [drive:][path]filename1 filename2. 重命名文件(夹),filename2只能是文件名,不能使用任何路径。

rename [drive:][path]filename1 filename2. filename2只能是文件名,不能使用任何路径。

二、 批处理文件的参数:(后续讲解)

批处理文件可以使用参数(相当于 DOS命令的命令行参数),这需要用到一个参数表示符 "%"。 %[1-9] 表示参数,参数是指在运行批处理文件时在文件名后加的以空格(或者 Tab)分隔的字符串。变量可以从%0到%9,%0表示批处理命令本身,其它参数字符串用 %1到%9顺序表示。

三、自定义变量:

自定义变量使用 set 命令。如:

@echo off

set var=value // 有空格的字符串也不需要引号。

echo %var%

pause

相关推荐

# 安装打开 ubuntu-22.04.3-LTS 报错 解决方案

#安装打开ubuntu-22.04.3-LTS报错解决方案WslRegisterDistributionfailedwitherror:0x800701bcError:0x80070...

利用阿里云镜像在ubuntu上安装Docker

简介:...

如何将Ubuntu Kylin(优麒麟)19.10系统升级到20.04版本

UbuntuKylin系统使用一段时间后,有新的版本发布,如何将现有的UbuntuKylin系统升级到最新版本?可以通过下面的方法进行升级。1.先查看相关的UbuntuKylin系统版本情况。使...

Ubuntu 16.10内部代号确认为Yakkety Yak

在正式宣布Ubuntu16.04LTS(XenialXerus)的当天,Canonical创始人MarkShuttleworth还非常开心的在个人微博上宣布Ubuntu下个版本16.10的内...

如何在win11的wsl上装ubuntu(怎么在windows上安装ubuntu)

在Windows11的WSL(WindowsSubsystemforLinux)上安装Ubuntu非常简单。以下是详细的步骤:---...

Win11学院:如何在Windows 11上使用WSL安装Ubuntu

IT之家2月18日消息,科技媒体pureinfotech昨日(2月17日)发布博文,介绍了3中简便的方法,让你轻松在Windows11系统中,使用WindowsSubs...

如何查看Linux的IP地址(如何查看Linux的ip地址)

本头条号每天坚持更新原创干货技术文章,欢迎关注本头条号"Linux学习教程",公众号名称“Linux入门学习教程"。...

怎么看电脑系统?(怎么看电脑系统配置)

要查看电脑的操作系统信息,可以按照以下步骤操作,根据不同的操作系统选择对应的方法:一、Windows系统通过系统属性查看右键点击桌面上的“此电脑”(或“我的电脑”)图标,选择“属性”。在打开的...

如何查询 Linux 内核版本?这些命令一定要会!

Linux内核是操作系统的核心,负责管理硬件资源、调度进程、处理系统调用等关键任务。不同的内核版本可能支持不同的硬件特性、提供新的功能,或者修复了已知的安全漏洞。以下是查询内核版本的几个常见场景:...

深度剖析:Linux下查看系统版本与CPU架构

在Linux系统管理、维护以及软件部署的过程中,精准掌握系统版本和CPU架构是极为关键的基础操作。这些信息不仅有助于我们深入了解系统特性、判断软件兼容性,还能为后续的软件安装、性能优化提供重要依据。接...

504 错误代码解析与应对策略(504错误咋解决)

在互联网的使用过程中,用户偶尔会遭遇各种错误提示,其中504错误代码是较为常见的一种。504错误并非意味着网站被屏蔽,它实际上是指服务器在规定时间内未能从上游服务器获取响应,专业术语称为“Ga...

猎聘APP和官网崩了?回应:正对部分职位整改,临时域名可登录

10月12日,有网友反映猎聘网无法打开,猎聘APP无法登录。截至10月14日,仍有网友不断向猎聘官方微博下反映该情况,而猎聘官方微博未发布相关情况说明,只是在微博内对反映该情况的用户进行回复,“抱歉,...

域名解析的原理是什么?域名解析的流程是怎样的?

域名解析是网站正常运行的关键因素,因此网站管理者了解域名解析的原理和流程对于做好域名管理、解决常见解析问题,保障网站的正常运转十分必要。那么域名解析的原理是什么?域名解析的流程是怎样的?接下来,中科三...

Linux无法解析域名的解决办法(linux 不能解析域名)

如果由于误操作,删除了系统原有的dhcp相关设置就无法正常解析域名。  此时,需要手动修改配置文件:  /etc/resolv.conf  将域名解析服务器手动添加到配置文件中  该文件是DNS域名解...

域名劫持是什么?(域名劫持是什么)

域名劫持是互联网攻击的一种方式,通过攻击域名解析服务器(DNS),或伪造域名解析服务器(DNS)的方法,把目标网站域名解析到错误的地址从而实现用户无法访问目标网站的目的。说的直白些,域名劫持,就是把互...

取消回复欢迎 发表评论: