【发布时间】:2020-05-09 07:23:19
【问题描述】:
我将文件路径存储在变量中,如下所示
$body = E:\Folder\body.txt
并尝试在 PowerShell 脚本中的多个区域访问它,如下所示
Clear-content -$body
Get-content $body.ToString()
Set-content $body
但是所有这三种类型的传递参数都不起作用。我在下面遇到错误。
Cannot find path 'C:\Users\S51\-' because it does not exist
You cannot call a method on a null-valued expression
Cannot bind argument to parameter 'Path' because it is null
只有传统的
Clear/Get/Set-content E:\Folder\body.txt 方法有效。
有没有办法为变量分配路径并在整个代码中使用它们,因为我需要多次访问同一个路径,如果我以后需要修改文件路径,它需要在任何地方进行修改。如果它是一个变量,我可以在一个地方修改。
【问题讨论】:
-
不确定,但我想你想看看Scopes。可能,您想将路径变量声明为
$global:ThePathVariable -
首先,它看不到您的文件路径-您应该使用
Clear-Content -Path $body,是的,如果它使用不同的路径,那么您可能需要定义$body,范围更广,例如$Script:body = E:\Folder\body.txt
标签: powershell powershell-cmdlet