私はPowershellに次のコードを持っています
$filePath = "C:\my\programming\Powershell\output.test.txt"
try
{
$wStream = new-object IO.FileStream $filePath, [System.IO.FileMode]::Append, [IO.FileAccess]::Write, [IO.FileShare]::Read
$sWriter = New-Object System.IO.StreamWriter $wStream
$sWriter.writeLine("test")
}
エラーが発生し続けます:
「FileStream」の引数「1」を値「[IO.FileMode] :: Append」で「System.IO.FileMode」と入力できません:「値「[IO.FileMode] :: Append」を変換できません列挙値が無効なため、「System.IO.FileMode」と入力します。次の列挙値のいずれかを指定して、再試行してください。可能な列挙値は、「CreateNew、Create、Open、OpenOrCreate、Truncate、Append」です。
私はC#で同等のものを試しました、
FileStream fStream = null;
StreamWriter stWriter = null;
try
{
fStream = new FileStream(@"C:\my\programming\Powershell\output.txt", FileMode.Append, FileAccess.Write, FileShare.Read);
stWriter = new StreamWriter(fStream);
stWriter.WriteLine("hahha");
}
それはうまくいきます!
PowerShellスクリプトの何が問題になっていますか?ところで、私はPowerShellで実行しています
Major Minor Build Revision
----- ----- ----- --------
3 2 0 2237
別の方法は、値の名前だけを使用して、PowerShellにそれをターゲットタイプにキャストさせることです。
New-Object IO.FileStream $filePath ,'Append','Write','Read'
New-Object
コマンドレットを使用し、ターゲット型コンストラクターがパラメーターを受け取る場合は、(New-Objectの)-ArgumentList
パラメーターを使用するか、パラメーターを括弧で囲む必要があります。コンストラクターをパラメーターでラップすることをお勧めします。 :
# setup some convenience variables to keep each line shorter
$path = [System.IO.Path]::Combine($Env:TEMP,"Temp.txt")
$mode = [System.IO.FileMode]::Append
$access = [System.IO.FileAccess]::Write
$sharing = [IO.FileShare]::Read
# create the FileStream and StreamWriter objects
$fs = New-Object IO.FileStream($path, $mode, $access, $sharing)
$sw = New-Object System.IO.StreamWriter($fs)
# write something and remember to call to Dispose to clean up the resources
$sw.WriteLine("Hello, PowerShell!")
$sw.Dispose()
$fs.Dispose()
New-Objectコマンドレットオンラインヘルプ: http://go.Microsoft.com/fwlink/?LinkID=113355
さらに別の方法は、列挙型を親で囲むことです。
$wStream = new-object IO.FileStream $filePath, ([System.IO.FileMode]::Append), `
([IO.FileAccess]::Write), ([IO.FileShare]::Read)
ログファイルまたはテキストファイルに書き込むことが目標である場合、PowerShellでサポートされているコマンドレットを試してこれを実現できますか?
Get-Help Out-File -Detailed