迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

PowerShell 中带空格的路径

作者:迹忆客 最近更新:2024/02/01 浏览次数:

路径是计算机中文件或文件夹的完整位置。在 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 中处理它们。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 PowerShell 中管理服务

发布时间:2024/02/08 浏览次数:116 分类:编程语言

本文将讨论 PowerShell 服务 cmdlet、如何使用它们,并开发我们的脚本以在本地或远程管理多台计算机上的服务。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便