当前位置:  开发笔记 > 前端 > 正文

Out-File -force,不创建中间目录

如何解决《Out-File-force,不创建中间目录》经验,为你挑选了2个好方法。

我的代码是:

$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',但事实并非如此.怎么了?



1> Michael..:

这看起来像一个bug.根据http://www.vistax64.com/powershell/62805-out-file-force-doesnt-seem-work-advertised.html,此问题已在MS Connect上提交.



2> zdan..:

正如迈克尔所说,这看起来像一个错误(或虚假广告!).

编辑:我最初认为">"运算符有效,但我在测试中犯了一个错误.正如人们所预料的那样,它没有.但是,您可以尝试使用新项目:

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
    }
}
}

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有