为什么Set-Content会抛出此错误?

时间:2015-02-26 00:39:03

标签: powershell

我可以使用以下代码示例

重新创建该问题
New-PSDrive -Name Z -PSProvider FileSystem -Root \\10.10.22.6\d$ -Credential $cred -Confirm:$false -Scope Global
Set-Content -Path 'Z:\__unc_test\Powershell\___datefile' -Value ([System.DateTime]::Now).ToString()

Get-ChildItem Z:\__unc_test

Get-ChildItem将返回目录列表,因此我知道New-PSDrive调用正在成功,UNC可通过Powershell获得。

但是,Set-Content调用失败并出现以下错误:

Set-Content : Could not find a part of the path '\\10.10.22.6\d$\10.10.22.6\d$\10.10.22.6\d$\__unc_test\Powershell\___datefile'.
At line:1 char:1
+ Set-Content -Path 'Z:\__unc_test\Powershell\___datefile' -Value ([System.DateTim ...

如果您看一下错误,Set-Content就会尝试以某种方式解决路径并且正在做一些非常古怪的事情。

任何人都可以尝试在他们的机器上重新创建这个和/或向我解释我在这里做错了什么吗? Get-Item,Get-ChildItem和Copy-Item似乎都适用于该驱动器号,但不适用于Set-Content。

1 个答案:

答案 0 :(得分:2)

我可以在我的机器上重现这个问题。 如果在调用Set-Content之前文件不存在,则似乎只会发生这种情况。 简单的解决方案,在使用set-content之前运行它:

New-Item -Path 'Z:\__unc_test\Powershell\___datefile' -Type file -Force

如果我使用“net use”添加驱动器,也不会出现此问题。