Win7旗舰版 - 专业分享最新系统之家win7旗舰版下载是电脑重装系统的理想系统家园。

最新更新 |如何安装系统? |软件导航 |品牌系统 | 系统专题 | 专题库 | 网站地图

Windows 7 系统在线下载

经过精心测试,结合了很多实用的功能,稳定、安全、高效率
的系统操作,兼容强大,占用系统资源少

如何在Windows命令行上转义文件路径中的空格

时间:2020-10-16 作者:残月

Windows Command Prompt和PowerShell等命令行环境使用空格分隔命令和参数,但是文件和文件夹名称也可以包含空格。要指定文件路径,并在其中带有空格,您需要对其进行“转义”。

如何在Windows命令行上转义文件路径中的空格

命令行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命令行上转义文件路径中的空格(1)

在Windows上逃脱空间的三种方法

在Windows上可以使用三种不同的方法来转义文件路径:

将路径(或路径的一部分)用双引号(“)引起来。

通过在每个空格之前添加一个脱字符号(^)。(这仅在命令提示符/ CMD中有效,并且似乎不适用于每个命令。)

在每个空格之前添加一个重音符号(`)。(这仅在PowerShell中有效,但始终有效。)

我们将向您展示如何使用每种方法。

将路径括在引号()中

确保Windows正确对待文件路径的标准方法是用双引号(“)括起来。例如,使用上面的示例命令,我们将改为运行以下命令:

键入“ C:\ Test Folder \ Test File.txt”

如果愿意,实际上可以将路径的部分用引号引起来。例如,假设您在该文件夹中有一个名为File.txt的文件。您可以运行以下命令:

键入C:\“测试文件夹” \ File.txt

但是,这不是必需的-在大多数情况下,您只需在整个路径上使用引号即可。

该解决方案在传统的命令提示符(CMD)环境和Windows PowerShell中均有效。

如何在Windows命令行上转义文件路径中的空格(2)

有时:使用尖号字符转义空格(^)

理论上,在命令提示符中,脱字符号(^)可让您转义空格。只需在文件名中的每个空格之前添加它即可。(您可以在键盘上的数字行中找到此字符。要键入尖号字符,请按Shift + 6。)

问题是:虽然这应该起作用,有时也可以,但并非总是如此。命令提示符对此字符的处理很奇怪。

例如,使用我们的示例命令,您将运行以下命令,但它将不起作用:

键入C:\ Test ^ Folder \ Test ^ File.txt

如何在Windows命令行上转义文件路径中的空格(3)

另一方面,如果尝试通过在命令提示符下键入路径直接打开文件,则可以看到插入号字符正确地转义了空格:

C:\ Test ^文件夹\ Test ^ File.txt

如何在Windows命令行上转义文件路径中的空格(4)

那么什么时候起作用?好吧,根据我们的研究,它似乎可以与某些应用程序一起使用,而不适用于其他应用程序。您的里程可能会因所使用的命令而异。命令提示符对此字符的处理很奇怪。如果有兴趣,请尝试使用任何正在使用的命令-它可能会或可能不会起作用。

为了保持一致,我们建议您在命令提示符中使用双引号-或切换到PowerShell并使用下面的重音符方法。

PowerShell:使用严重口音字符(`)

PowerShell将重音符(`)用作其转义符。只需在文件名中的每个空格之前添加它即可。(您会在键盘上的Tab键上方和Esc键下方找到此字符。)

输入C:\ Test` Folder \ Test` File.txt

每个严重的重音符号告诉PowerShell逃避以下字符。

请注意,这仅在PowerShell环境中有效。您必须在命令提示符中使用插入符号。

如何在Windows命令行上转义文件路径中的空格(5)

如果您熟悉Linux和macOS之类的UNIX之类的操作系统,则可能习惯于在空格前使用反斜杠(\)字符对其进行转义。Windows将其用于常规文件路径,因此不起作用-插入符(^)和重音符(`)字符是Windows版本的反斜杠,具体取决于您使用的命令行外壳。