2009-04-02 4 views
7

私のコードを作成していないです。アウトファイル-force、中間ディレクトリを

$path = "c:\no-such-dir\00.txt" 
"foo" | Out-File -force -filePath $path 

エラー:

Out-File : Could not find a part of the path 'C:\no-such-dir\00.txt'

ヘルプアウトファイル

For example, Force will override the read-only attribute or create directories to complete a file path, but it will not attempt to change file permissions.

-fullだから、それは 'いいえ、そのようなディレクトリ'を作成する必要がありますが、そうではないようです。何が起こるのですか?

答えて

6

Michealに言われているように、これはバグ(または虚偽の広告)のように見えます。

編集:私は当初は ">"演算子が働いていると思っていましたが、私はテストで間違いを犯しました。予想どおりのことではありません。

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

は、あなたはそれがあなたのために働きますか?私はPowerShell v2を使用していますが、動作しません。 – alex2k8

+0

私はそれを試してみました。私は中間のディレクトリを削除するのを忘れてしまった、申し訳ありません。 – zdan

+0

新アイテムが完璧に動作します、ありがとうございます! – alex2k8