在 Windows 中,cat 命令是 PowerShell 中的一个内置命令,而不是传统的 CMD (命令提示符) 命令,它的作用与 Linux/macOS 中的 cat 命令类似,主要用于:

- 显示文件内容:将一个或多个文本文件的内容输出到控制台。
- 合并文件:将多个文件的内容连接在一起并输出。
- 创建新文件:通过输入重定向来创建新文件或向现有文件追加内容。
如何使用 cat 命令
cat 是 PowerShell 中 Get-Content 命令的别名,这意味着当你输入 cat 时,系统实际上是在执行 Get-Content,它们的功能完全相同。
基本语法
cat [-Path] <FilePath> [-ReadCount <Long64>] [-TotalCount <Int64>] [-Tail <Int32>] [-Filter <String>] [-Include <String[]>] [-Exclude <String[]>] [-Force] [-LiteralPath <String>] [-Encoding <Encoding>] [-Raw]
对于日常使用,你只需要记住最简单的形式:
cat <文件路径>
常用示例
示例 1:显示文件内容
这是最常见的用法,假设你有一个名为 readme.txt 的文件,你想查看它的内容。
cat C:\Users\YourUser\Documents\readme.txt
执行后,readme.txt 文件的所有内容都会直接显示在 PowerShell 窗口中。

示例 2:分页显示大文件
很长,一屏显示不完,可以使用 more 参数(这是 Get-Content 的一个参数,cat 也能用)来实现分页显示。
cat C:\path\to\large\log.txt | more
或者直接使用 more 命令管道:
cat C:\path\to\large\log.txt | more
- 按空格键或
Enter键继续下一页。 - 按
Q键退出。
示例 3:显示文件的最后几行
在查看日志文件时,我们通常只关心最新的内容,可以使用 -Tail 参数来显示文件的末尾部分。
# 显示文件的最后 20 行 cat -Tail 20 C:\Windows\Logs\DISM\dism.log
示例 4:显示文件的开头几行
与 -Tail 相对,-TotalCount (或其别名 -First) 参数可以显示文件的开头部分。

# 显示文件的前 10 行 cat -TotalCount 10 C:\path\to\some\file.txt
示例 5:合并多个文件
cat 可以一次性指定多个文件,并将它们的内容按顺序连接显示。
假设你有 file1.txt, file2.txt, file3.txt。
cat file1.txt file2.txt file3.txt
输出将是 file1.txt 的内容,紧接着是 file2.txt 的内容,最后是 file3.txt 的内容。
示例 6:创建新文件或追加内容
你可以使用输入重定向 > 和 >> 来结合 cat 创建或修改文件。
-
创建新文件 (
>): 如果文件不存在,会创建一个新文件;如果文件存在,其内容会被覆盖。# 创建一个名为 newfile.txt 的新文件,并写入 "Hello, World!" cat > newfile.txt Hello, World! # (按 Ctrl+Z 然后按 Enter 来保存并退出输入模式)
-
(
>>): 如果文件不存在,会创建一个新文件;如果文件存在,新内容会被追加到文件末尾。# 向 newfile.txt 的末尾追加一行新内容 cat >> newfile.txt This is a new line. # (按 Ctrl+Z 然后按 Enter 来保存并退出输入模式)
与 Linux/macOS cat 的对比
| 特性 | Windows PowerShell cat |
Linux/macOS cat |
|---|---|---|
| 命令来源 | PowerShell 内置别名 (Get-Content) |
Shell 的标准内置命令 |
| 显示文件 | cat file.txt |
cat file.txt |
| 合并文件 | cat f1.txt f2.txt |
cat f1.txt f2.txt |
| 创建/追加 | cat > file.txt (按 Ctrl+Z 保存) |
cat > file.txt (按 Ctrl+D 保存) |
| 分页显示 | cat file.txt \| more |
cat file.txt \| more 或 less file.txt |
| 核心差异 | 功能更强大,是 Get-Content 的别名,支持大量 PowerShell 特有的参数(如 -Tail, -Encoding)。 |
更纯粹、更简单,专注于连接和显示文件流。 |
重要提醒:在 CMD 中使用 cat
如果你在旧的 CMD (命令提示符) 窗口中直接输入 cat,你会得到一个错误:
'cat' 不是内部或外部命令,也不是可运行的程序或批处理文件。
这是因为 CMD 没有 cat 命令,在 CMD 中,你可以使用以下命令来替代 cat 的部分功能:
- 显示文件内容:使用
type命令。type C:\path\to\file.txt
- 合并文件:也可以使用
type命令。type file1.txt file2.txt > combined.txt
- 创建/追加文件:使用
copy con命令。copy con newfile.txt (输入内容...) (按 F6 或 Ctrl+Z 然后按 Enter 保存)
| 命令行环境 | 命令 | 功能 |
|---|---|---|
| PowerShell | cat |
推荐使用,功能强大,是 Get-Content 的别名。 |
| CMD | type |
cat 的基本替代品,用于显示文件内容。 |
在 Windows 现代化的使用场景中(尤其是 Windows 10/11),你应该优先使用 PowerShell,并熟练掌握 cat 命令来高效地处理文本文件。
