前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Windows 命令行快速上手

Windows 命令行快速上手

作者头像
恋喵大鲤鱼
发布2023-10-12 15:22:06
3000
发布2023-10-12 15:22:06
举报
文章被收录于专栏:C/C++基础

0.前言

Windows 命令在开发工作相较于 Linux 命令并没有那么常用,但是常见的命令还是需要掌握,下面就列举软件开发人员必知必会的命令。

1.必知点

批处理文件

Windows 脚本文件被被称为批处理文件或命令行脚本,后缀名为 .bat 或 .cmd,在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用 cmd.exe 按照该文件中各个命令出现的顺序来逐个运行它们。

使用批处理文件可以简化日常或重复性任务。

注释

推荐使用双冒号进行单行注释,使用 goto + 标签进行多行注释。

代码语言:javascript
复制
::单行注释

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 \Taxes\Property\Current

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 提示是否要覆盖现有目标文件。

  1. 更改文件或目录名。
代码语言:javascript
复制
move OLD_NAME NEW_NAME
  1. 移动文件或目录。
代码语言:javascript
复制
move FILE DIR

move SRC_DIR DIR
  1. 移动多个文件。
代码语言:javascript
复制
move \data\*.xls \second_q\reports\

copy

将一个或多个文件从一个位置复制到另一个位置。

常用选项如下:

代码语言:javascript
复制
/a: 表示待移动的是 ASCII 文本文件。
/b:表示待移动的是二进制文件。
/d:允许将正在复制的加密文件保存为目标位置的解密文件。
/v:验证每个新文件的一致性。
/n:新文件名后附加一个数字以防止覆盖现有文件。
/y:不提示确认是否覆盖现有文件。
/-y:提示确认是否覆盖现有文件(默认行为)。
/z:以可重新启动模式复制网络文件。
  1. 复制文件
代码语言:javascript
复制
copy source_file destination
  1. 使用通配符或加号复制多个文件。
代码语言:javascript
复制
copy source_file1+source_file2+... destination
  1. 复制目录下的所有文件。
代码语言:javascript
复制
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:不提示确认是否覆盖现有文件。
  1. 复制文件。
代码语言:javascript
复制
xcopy file dir
  1. 递归复制文件夹及其内容到目标目录,包括空目录。
代码语言:javascript
复制
xcopy C:\source\folder D:\destination /s /e
  1. 获取上一个命令要复制的文件列表,即不实际复制文件。
代码语言:javascript
复制
xcopy \rawdata \reports /d:12-29-1993 /l > xcopy.out

cls

清除命令提示符窗口。

代码语言:javascript
复制
:: 清屏
cls

help

显示可用命令的列表或指定命令的详细帮助信息。 如果不带参数使用,帮助会列出并简要描述每个系统命令。

代码语言:javascript
复制
:: 查看指定命令的帮助信息
help CMD_NAME

参考文献

Windows commands CSDN.dos 命令特殊符号

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-09-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0.前言
  • 1.必知点
    • 批处理文件
      • 注释
        • 命令分隔符
          • 帮助
          • 3.必知命令
            • cd
              • set
                • setx
                  • dir
                    • type
                      • more
                        • echo
                          • md / mkdir
                            • del / erase
                              • rd / rmdir
                                • move
                                  • copy
                                    • xcopy
                                      • cls
                                        • help
                                        • 参考文献
                                        领券
                                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档