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

命令行环境(如Windows命令提示符和PowerShell)使用空格分隔命令和参数,但文件名和文件夹名也可以包含空格。要指定一个文件路径,其中有一个空格,您需要“转义”它。...

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

命令行环境(如Windows命令提示符和PowerShell)使用空格分隔命令和参数,但文件名和文件夹名也可以包含空格。要指定一个文件路径,其中有一个空格,您需要“转义”它。

命令行101:为什么要逃出空格

“转义”字符会改变其含义。例如,转义空格将导致shell将其视为标准空格字符,而不是分隔命令行参数的特殊字符。

例如,假设您有一个要查看其内容的文本文件。您可以使用type命令来实现这一点。假设文本文件位于C:\Test\文件.txt,命令提示符中的以下命令将显示其内容:

type C:\Test\File.txt

伟大的。现在,如果您在C:\Test Folder\Test中有相同的文件呢文件.txt?如果您尝试运行下面的命令,它将不起作用,因为文件路径中的空间会妨碍您。

type C:\Test Folder\Test File.txt

命令行认为您试图查找一个名为C:\Test的文件,并说它“找不到指定的路径”

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

三种逃离窗户空间的方法

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

  • 用双引号(“)括起路径(或部分路径)。
  • 通过在每个空格前添加**符号(^)。(这只适用于命令提示符/CMD,似乎并不适用于所有命令。)
  • 在每个空格前添加一个重音符(`)。(这只在PowerShell中有效,但始终有效。)

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

用引号(“)括起路径

确保Windows正确处理文件路径的标准方法是用双引号(“)字符将其括起来。例如,使用上面的示例命令,我们只需运行以下命令:

type "C:\Test Folder\Test File.txt"

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

type C:\"Test Folder"\File.txt

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

此解决方案既可以在传统的命令提示符(CMD)环境中工作,也可以在Windows PowerShell中工作。

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

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

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

问题是:虽然这应该是可行的,而且有时是可行的,但并不总是可行的。命令提示符对这个字符的处理很奇怪。

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

type C:\Test^ Folder\Test^ File.txt

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

另一方面,如果我们尝试通过在命令提示符中输入文件的路径直接打开文件,我们可以看到**字符正确地转义了空格:

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

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

那什么时候起作用?嗯,根据我们的研究,它似乎适用于某些应用程序,而不是其他应用程序。根据您使用的命令,您的里程数可能会有所不同。命令提示符对这个字符的处理很奇怪。不管你使用什么命令,都可以尝试一下,如果你感兴趣的话,它可能会起作用,也可能不会起作用。

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

powershell:使用重音符(`)

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

type C:\Test` Folder\Test` File.txt

每个重音符字符都告诉PowerShell转义以下字符。

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

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


如果您熟悉类似UNIX的操作系统,如Linux和macOS,您可能习惯于在空格前使用反斜杠(\)字符来转义它。Windows将其用于普通文件路径,因此不起作用--**符号(^)和重音符(`)字符是Windows版本的反斜杠,具体取决于您使用的命令行shell。

  • 发表于 2021-04-01 11:39
  • 阅读 ( 574 )
  • 分类:互联网

你可能感兴趣的文章

如何将命令行输出保存到windows、mac和linux上的文件

... 今天我们将介绍如何在Windows、Mac和Linux上将命令的输出发送到bashshell中的文本文件。 ...

  • 发布于 2021-03-12 15:56
  • 阅读 ( 628 )

如何使用applescript将bash脚本转换为可单击的应用程序

...为输入运行它。这些特殊的应用程序被称为水滴。下面是如何创建一个: ...

  • 发布于 2021-03-21 09:39
  • 阅读 ( 245 )

如何(以及为什么)从命令提示符启动microsoft powerpoint

...下启动PowerPoint进行故障排除,或者从特定模板开始。 如何使用命令运行powerpoint 从命令提示符打开PowerPoint有两种方法,您需要知道其中一种方法来找出powerpnt.exe“文件位于。您可以通过在文件资源管理器中挖掘来手动执行此...

  • 发布于 2021-03-31 11:12
  • 阅读 ( 211 )

如何使用shopt定制bashshell

...shshell的行为,您可以控制超过50个设置。我们将向您展示如何按照您喜欢的方式定制您的Linux系统。 shopt内置 shopt内置是bashshell所有版本的一部分,因此不需要安装任何东西。多年来,shopt提供的选项数量稳步增加。所以,Bash...

  • 发布于 2021-04-01 12:30
  • 阅读 ( 171 )

如何使用pandoc在linux命令行上转换文件

...下一节中介绍更多的例子。 相关报道:什么是降价?你如何使用它? 转换文件 文件转换非常简单。pandoc通常可以从文件名中找出您正在使用的文件格式。在这里,我们将从一个降价文件生成一个HTML文件。-o(output)选项告诉pan...

  • 发布于 2021-04-02 00:59
  • 阅读 ( 232 )

如何在linux上的bash中设置环境变量

Linux上有多种类型的环境变量。了解如何查看它们,为本地和远程登录创建它们,并使它们在重新启动后仍然有效。 环境变量的工作原理 启动终端窗口及其内部的shell时,会引用一组变量,以确保shell配置正确。这些变量还确...

  • 发布于 2021-04-02 06:44
  • 阅读 ( 218 )

如何在linux上使用正则表达式(regex)

...在Linux上做了什么吗?他们给你命令行魔法!我们将教你如何施展正则表达式法术并提升你的命令行技能。 什么是正则表达式(regular expressi***)? 正则表达式(regex)是一种查找匹配字符序列的方法。它们使用字母和符号来定义...

  • 发布于 2021-04-02 11:27
  • 阅读 ( 219 )

如何在linux上使用echo命令

...以创建文本文件和日志文件。按照这个简单的指南来了解如何。 回声重复你让它重复的东西 宙斯喜欢离开奥林匹斯山,与美丽的仙女交往。在一次旅行中,他告诉一个叫埃科的山里仙女,如果他的妻子赫拉跟着他,他就要拦...

  • 发布于 2021-04-03 00:31
  • 阅读 ( 177 )

37个重要的linux命令

...程序时创建的squashfs伪文件系统。 df -h -x squashfs 相关:如何从Linux终端查看可用磁盘空间和磁盘使用情况 8差异 diff命令比较两个文本文件并显示它们之间的差异。有许多选项可根据您的要求定制显示器。 -y(并排)选项并排显...

  • 发布于 2021-04-03 15:04
  • 阅读 ( 181 )

如何缩小virtualbox虚拟机并释放磁盘空间

...使用隐藏命令手动收缩动态磁盘。 相关:初学者极客:如何创建和使用虚拟机 请记住,这只会缩小磁盘,如果它的大小增长,你已经删除了数据。所以,如果你只是创建了一个动态磁盘,这不会缩小它。但是,如果您创建了一...

  • 发布于 2021-04-07 14:42
  • 阅读 ( 239 )
c685gu
c685gu

0 篇文章

相关推荐