我的代码是:
$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',但事实并非如此.怎么了?
这看起来像一个bug.根据http://www.vistax64.com/powershell/62805-out-file-force-doesnt-seem-work-advertised.html,此问题已在MS Connect上提交.
正如迈克尔所说,这看起来像一个错误(或虚假广告!).
编辑:我最初认为">"运算符有效,但我在测试中犯了一个错误.正如人们所预料的那样,它没有.但是,您可以尝试使用新项目:
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 } } }