PowerShell 中带空格的路径
路径是计算机中文件或文件夹的完整位置。在 PowerShell 中,你将需要使用路径来更改当前工作目录或在指定位置运行一些文件。
有时,在 PowerShell 中使用路径时,如果有空格,你可能会遇到错误,因为空格会导致路径中的拆分。因此,该命令将不会执行并在输出中返回错误。
本教程将介绍在 PowerShell 中处理路径中空格的不同方法。
在 PowerShell 中使用单引号 ' '
处理路径中的空格
当你使用 Invoke-Expression
运行命令时,你可以用' '
单引号将子目录的路径括起来以处理 PowerShell 中路径中的空格。
如果没有 ' '
引号,空格会导致路径中的拆分,PowerShell 将在路径中找到空格时结束命令。
Invoke-Expression "C:\New Folder\script files\myscript.ps1"
输出:
如你所见,PowerShell 不会运行完整的命令,因为路径包含空格。请注意,如果我们在运行路径中有空格的文件时使用 ' '
引号会发生什么。
例如:
Invoke-Expression "C:\'New Folder\script files'\myscript.ps1"
输出:
myscript.ps1
包含 Get-Date
cmdlet,它打印当前日期和时间。
Sunday, February 27, 2022 10:24:06 PM
脚本文件执行没有错误,所以可以使用该方法处理路径中的空格。
在 PowerShell 中使用 &
运算符处理路径中的空格
&
运算符在后台运行它之前的管道。你可以使用&
运算符通过用双引号" "
将路径括起来来调用命令。
& "C:\New Folder\script files\myscript.ps1"
输出:
Sunday, February 27, 2022 10:37:21 PM
或者,你也可以使用 .
运算符使用路径中的双引号 " "
运行命令。
. "C:\New Folder\script files\myscript.ps1"
输出:
Sunday, February 27, 2022 10:37:21 PM
在 PowerShell 中更改当前目录时使用" "
双引号处理路径中的空格
cd
命令更改 PowerShell 中的当前目录。如果路径包含空格,则当你不将路径放在双引号" "
中时会出现错误。
例如:
cd Work Documents
输出:
Set-Location : A positional parameter cannot be found that accepts argument 'Documents'.
At line:1 char:1
+ cd Work Documents
+ ~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Set-Location], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.SetLocationCommand
你可以看到在没有" "
的情况下运行 cd
命令会在更改路径时出错。看看使用双引号 " "
时会发生什么。
cd "Work Documents"
输出:
如你所见,当前工作目录已更改为指定路径。
PS C:\Users\rhntm\Work Documents>
我们希望这篇文章有助于理解为什么空格会导致路径分裂并在 PowerShell 中处理它们。
相关文章
在 PowerShell 中管理服务
发布时间:2024/02/08 浏览次数:116 分类:编程语言
-
本文将讨论 PowerShell 服务 cmdlet、如何使用它们,并开发我们的脚本以在本地或远程管理多台计算机上的服务。
使用 PowerShell 获取 Windows 服务的启动类型
发布时间:2024/02/08 浏览次数:127 分类:编程语言
-
本教程将教你使用 PowerShell 获取启动类型的 Windows 服务。
PowerShell 中的属性 Property 与 ExpandProperty
发布时间:2024/02/08 浏览次数:198 分类:编程语言
-
本文将讨论什么是属性并将它们与扩展属性区分开来。Windows PowerShell 主要集中在显示和生成对象。这些对象由称为属性的特定细节支持。
PowerShell 中的 ExecutionPolicy Bypass 和 Unrestricted
发布时间:2024/02/08 浏览次数:137 分类:编程语言
-
提供了 PowerShell 执行策略作为安全措施。Bypass 和 Unrestricted 是两个重要的策略,可用于跳过几乎所有的安全检查并运行任何脚本。
使用 PowerShell 将文件从 Windows 复制到 Linux
发布时间:2024/02/08 浏览次数:125 分类:编程语言
-
本教程将教你使用 PowerShell 将文件从 Windows 复制到 Linux。
脚本执行后保持 PowerShell 控制台打开
发布时间:2024/02/08 浏览次数:111 分类:编程语言
-
本文将讨论多种解决方案,这些解决方案将使你的 PowerShell 控制台在脚本执行后保持打开状态,包括 NoExit 参数。