0.前言
Windows 命令在开发工作相较于 Linux 命令并没有那么常用,但是常见的命令还是需要掌握,下面就列举软件开发人员必知必会的命令。
1.必知点
批处理文件
Windows 脚本文件被被称为批处理文件或命令行脚本,后缀名为 .bat 或 .cmd,在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用 cmd.exe 按照该文件中各个命令出现的顺序来逐个运行它们。
使用批处理文件可以简化日常或重复性任务。
注释
推荐使用双冒号进行单行注释,使用 goto 标签
进行多行注释。
::单行注释
goto end
这些是多行注释
这些是多行注释
:end
命令分隔符
Windows 使用 & 在一行分隔多条命令,命令格式如下:
代码语言:javascript复制第一条命令 & 第二条命令 [& 第三条命令...]
另外 && 和 || 也可用于分隔命令。区别在于 && 连接的多条命令只有前面的命令执行成功,后面的才会执行。|| 连接的多条命令,只有前面的命令执行失败后,才执行后面的命令。
帮助
要想查看命令行命令的帮助信息,使用 /? 选项或 help 命令。
代码语言:javascript复制cd /?
:: 或
help cd
3.必知命令
cd
显示当前目录的名称或更改当前目录。
代码语言:javascript复制:: 无参数执行 cd 打印当前工作目录。
cd
:: 进入到指定目录。
cd DIR
set
显示、设置或删除 cmd.exe 环境变量。也可以用于定义变量。
代码语言:javascript复制:: 显示所有环境变量
set
:: 显示指定环境变量
set NAME
:: 临时设置环境变量
set NAME=VALUE
:: 临时删除环境变量
set NAME=
setx
setx 用于永久创建或修改环境变量。注意,设置后在新的命令行窗口才能生效。
代码语言:javascript复制:: 永久设置用户环境变量
setx NAME VALUE
:: 永久删除用户环境变量
setx NAME ""
:: 永久设置系统环境变量。需要管理员权限
setx /M NAME VALUE
:: 永久删除系统环境变量。需要管理员权限
setx /M NAME ""
:: 追加用户环境变量
setx NAME %NAME%;VALUE
:: 查看帮助信息
setx /?
dir
显示目录的文件和子目录的列表。
代码语言:javascript复制:: 显示当前目录文件列表
dir
:: 显示指定目录文件列表
dir DIR
:: 显示指定文件信息。支持通配符 *
dir FILE_NAME
type
在 Windows 命令 shell 中,type 是显示文本文件内容的内置命令。
在 PowerShell 中,type 是 Get-Content cmdlet 的内置别名,它也显示文件的内容,但使用不同的语法。
命令格式:
代码语言:javascript复制type [<drive>:][<path>]<filename>
示例:
代码语言:javascript复制:: 打印文本文件全部内容
type FILE_NAME
more
用于逐页显示文本文件内容。
它允许你按页查看文本文件,以避免在终端窗口中一次显示太多内容,从而使文本更易于阅读。
使用 more 命令时,可以按以下方式进行操作:
按下空格键:显示下一页文本内容。 按下回车键:显示下一行文本内容。 按下 Q 键:退出 more 命令,返回到命令提示符。
命令格式:
代码语言:javascript复制<command> | more [/c] [/p] [/s] [/t<n>] [ <n>]
more [[/c] [/p] [/s] [/t<n>] [ <n>]] < [<drive>:][<path>]<filename>
more [/c] [/p] [/s] [/t<n>] [ <n>] [<files>]
选项说明:
代码语言:javascript复制/c 在显示页面之前清除屏幕。
/p 扩展换页字符。
/s 将多个空行显示为单个空行。
/t<n> 将制表符显示为 n 指定的空格数。
<n> 显示第一个文件,从 n 指定的行开始。
示例:
代码语言:javascript复制:: 分屏显示文件内容
more FILE
echo
显示消息或打开或关闭命令回显功能。如果不带参数使用,echo 将显示当前的 echo 设置。
语法:
代码语言:javascript复制echo [<message>]
echo [on | off]
示例:
代码语言:javascript复制:: 显示当前 echo 设置
echo
:: 打印变量值
echo %NAME%
:: 打印指定内容到标准输出
echo CONTENT
md / mkdir
创建目录。
语法:
代码语言:javascript复制md [<drive>:]<path>
mkdir [<drive>:]<path>
示例:
代码语言:javascript复制:: 在当前目录创建新目录。
md DIR_NAME
:: 相对于根目录创建目录树。
```shell
md TaxesPropertyCurrent
del / erase
删除一个或多个文件。
语法:
代码语言:javascript复制del [/p] [/f] [/s] [/q] [/a[:]<attributes>] <names>
erase [/p] [/f] [/s] [/q] [/a[:]<attributes>] <names>
选项:
代码语言:javascript复制/p 删除指定文件之前提示确认。
/f 强制删除只读文件。
/s 从当前目录和所有子目录中删除指定文件。 显示正在删除的文件的名称。
/q 安静模式。系统不会提示您确认删除。
/a[:]<attributes> 根据以下文件属性删除文件:
r 只读文件
h 隐藏文件
i 不是内容索引文件
s 系统文件
a 准备归档的文件
l 重解析点,如符号链接、目录交接点和卷挂载点
- 用作前缀,意思是“不”
示例:
代码语言:javascript复制:: 删除文件
del FILE
rd / rmdir
删除目录。
语法:
代码语言:javascript复制rd [<drive>:]<path> [/s [/q]]
rmdir [<drive>:]<path> [/s [/q]]
选项:
代码语言:javascript复制/s 删除目录树(指定目录及其所有子目录,包括所有文件)
/q 删除非空目录时不提醒。/q 只有在使用 /s 选项时才有效
示例:
代码语言:javascript复制:: 删除目录
rd DIR
:: 删除非空目录,会有交互式提醒是否删除
rd /s DIR
:: 删除非空目录时不提醒
rd /s /q DIR
move
移动或重命名文件或目录。
语法格式:
代码语言:javascript复制move [{/y|-y}] [<source>] [<target>]
/y 停止提示是否要覆盖现有目标文件。是否提示由环境变量 COPYCMD 事先设置。 -y 提示是否要覆盖现有目标文件。
- 更改文件或目录名。
move OLD_NAME NEW_NAME
- 移动文件或目录。
move FILE DIR
move SRC_DIR DIR
- 移动多个文件。
move data*.xls second_qreports
copy
将一个或多个文件从一个位置复制到另一个位置。
常用选项如下:
代码语言:javascript复制/a: 表示待移动的是 ASCII 文本文件。
/b:表示待移动的是二进制文件。
/d:允许将正在复制的加密文件保存为目标位置的解密文件。
/v:验证每个新文件的一致性。
/n:新文件名后附加一个数字以防止覆盖现有文件。
/y:不提示确认是否覆盖现有文件。
/-y:提示确认是否覆盖现有文件(默认行为)。
/z:以可重新启动模式复制网络文件。
- 复制文件
copy source_file destination
- 使用通配符或加号复制多个文件。
copy source_file1 source_file2 ... destination
- 复制目录下的所有文件。
copy dir destination
不能递归复制子目录,如果想递归复制子目录,需要使用 xcopy 命令。
xcopy
复制文件和目录,包括子目录。
基本用法:
代码语言:javascript复制xcopy source destination
source:要复制的源文件或目录的路径。 destination:复制后的目标位置的路径。
常用选项:
代码语言:javascript复制/c:继续复制,即使发生错误。
/d [:MM-DD-YYYY]:仅复制在指定日期或之后更改的文件。如果不包含 MM-DD-YYYY 值,xcopy 将复制比现有目标文件新的所有源文件。此命令行选项允许您更新已更改的文件。
/e:递归复制子目录及其内容,包括空目录。
/h:复制隐藏和系统文件。
/i:如果目标是目录或包含多个文件,将其视为目标目录。
/k:复制文件并保留目标文件的只读属性(如果源文件中存在)。 默认情况下,xcopy 删除只读属性。
/l:生成要复制的文件列表,但不主动复制文件。
/q:不显示复制的文件和目录名。
/r:复制只读文件。
/s:递归复制子目录及其内容。
/v:验证每个新文件的一致性。
/y:不提示确认是否覆盖现有文件。
- 复制文件。
xcopy file dir
- 递归复制文件夹及其内容到目标目录,包括空目录。
xcopy C:sourcefolder D:destination /s /e
- 获取上一个命令要复制的文件列表,即不实际复制文件。
xcopy rawdata reports /d:12-29-1993 /l > xcopy.out
cls
清除命令提示符窗口。
代码语言:javascript复制:: 清屏
cls
help
显示可用命令的列表或指定命令的详细帮助信息。 如果不带参数使用,帮助会列出并简要描述每个系统命令。
代码语言:javascript复制:: 查看指定命令的帮助信息
help CMD_NAME
参考文献
Windows commands CSDN.dos 命令特殊符号