Windows 命令提示符和PowerShell等命令行环境使用空格分隔命令和参数,但文件和文件夹名称也可以包含空格。要指定带有空格的文件路径,您需要“转义”它。
命令行 101:为什么必须转义空格
“转义”字符会改变其含义。例如,转义空格将导致 shell 将其视为标准空格字符,而不是分隔命令行参数的特殊字符。
例如,假设您有一个要查看其内容的文本文件。您可以使用 type 命令执行此操作。假设文本文件位于,命令提示符中的以下命令将显示其内容:
C:\Test\File.txt
键入 C:\Test\File.txt
伟大的。现在,如果您有相同的文件怎么办?如果您尝试运行以下命令,它将不起作用——文件路径中的那些空格会妨碍您。
C:\Test Folder\Test File.txt
键入 C:\Test Folder\Test File.txt
命令行认为您正在尝试查找名为的文件 并说它“找不到指定的路径”。
C:\Test
在 Windows 上转义空间的三种方法
您可以通过三种不同的方式在 Windows 上转义文件路径:
-
通过将路径(或路径的一部分)括在双引号 ( ” ) 中。
-
通过在每个空格前添加插入符 (^)。(这仅适用于命令提示符/CMD,并且似乎不适用于每个命令。)
-
通过在每个空格前添加重音符号 (`)。(这仅适用于 PowerShell,但它始终有效。)
我们将向您展示如何使用每种方法。
用引号 ( ” ) 将路径括起来
确保 Windows 正确处理文件路径的标准方法是将其括在双引号 (") 字符中。例如,使用上面的示例命令,我们只需运行以下命令:
键入“C:\Test Folder\Test File.txt”
如果您愿意,您实际上可以用引号将路径的一部分括起来。例如,假设您在该文件夹中有一个名为 File.txt 的文件。您可以运行以下命令:
键入 C:\"测试文件夹"\File.txt
但是,这不是必须的——在大多数情况下,您可以只在整个路径周围使用引号。
此解决方案适用于传统的命令提示符 (CMD) 环境和 Windows PowerShell。
那么它什么时候起作用呢?好吧,根据我们的研究,它似乎适用于某些应用程序,而不适用于其他应用程序。您的里程可能会因您使用的命令而异。命令提示符对这个角色的处理很奇怪。如果您有兴趣,请尝试使用您正在使用的任何命令 - 它可能有效,也可能无效。
为了保持一致性,我们建议您在命令提示符中使用双引号,或者切换到 PowerShell 并使用下面的重音方法。
PowerShell:使用重音符号 ( ` )
PowerShell 使用重音符 ( ` ) 字符作为其转义字符。只需在文件名中的每个空格之前添加它。(您会在键盘上的 Tab 键上方和 Esc 键下方找到此字符。)
键入 C:\Test` 文件夹\Test` File.txt
每个重音字符都会告诉 PowerShell 转义后面的字符。
请注意,这只适用于 PowerShell 环境。您必须在命令提示符中使用插入符号。
如果您熟悉 Linux 和 macOS 等类 UNIX 操作系统,您可能习惯于在空格前使用反斜杠 (\) 字符来转义它。Windows 将此用于普通文件路径,因此它不起作用 - 插入符号 ( ^ ) 和重音符 ( ` ) 字符是 Windows 版本的反斜杠,具体取决于您使用的命令行 shell。
西班牙一公牛猛追人群时滑倒,转头顶翻路边玩手机的女子
海关总署:入境人员无需申报核酸结果
儿子快要开学了,今天带他去医院复查近视,希望能纠正过来
雷蒙多强调“无意遏制”副防长渲染“军力竞争”
台北市长蒋万安上海谈话完整版,提到淞沪会战,说台湾最美的是人
普里戈任葬礼以非公开形式举行
俄方称在黑海击沉4艘乌军快艇 艇上共载约50人
中超公司董事长刘军被带走调查
国内航线机票燃油附加费9月5日起大幅上涨
修改《公司法》,重新实施注册资金实缴制将严重重影响民营经济
中南财大女教师擅自离境失联 校方通报
湖南官方回应微信群不雅信息调查进展
卖爆的核辐射检测仪 测出来家里的辐射值“太高”?
广东队将为易建联举办退役仪式