我的代码是:
$path = "c:\no-such-dir\00.txt"
"foo" | Out-File -force -filePath $path
错误:
Out-File:找不到的一部分 路径'C:\ no-such-dir \ 00.txt'
帮助out-file -full
例如,Force将覆盖 只读属性或创建 目录来完成文件路径, 但它不会尝试更改文件 权限。
所以它似乎应该创造'no-such-dir',但事实并非如此。会发生什么?
答案 0 :(得分:9)
这看起来像个错误。根据{{3}},此问题已在MS Connect上提交。
答案 1 :(得分:6)
正如迈克尔所说,这看起来像一个错误(或虚假广告!)。
编辑:我最初认为“>”操作员工作,但我在测试中犯了一个错误。正如人们所预料的那样,它没有。但是,您可以尝试使用新项目:
new-item -force -path $path -value "bar" -type file
不完全相同,但您可以创建一个简单的功能来执行您想要的操作:
function Out-FileForce {
PARAM($path)
PROCESS
{
if(Test-Path $path)
{
Out-File -inputObject $_ -append -filepath $path
}
else
{
new-item -force -path $path -value $_ -type file
}
}
}