本記事の概要
この記事では、読み取り専用のファイルに対して、Set-Content コマンドレットで強制的に書き込む方法について説明します。
Set-Content コマンドについての公式サイト情報はコチラを参照してください。
読み取り専用ファイルに強制的に書き込むには?
Set-Content コマンドレットで -Force パラメータを指定すると、読み取り専用ファイルであったとしても、強制的に内容を書き込むことができます。
構文
Set-Content -Path 書き込み先のファイルパス -Value "書き込む内容" -Force
まずは、読み取り専用のファイルに対して、-Force パラメータを指定せずに書き込む例を示します。
読み取り専用ファイルへの書き込みなので、「アクセスが拒否されました」というエラーになり、ファイル内容は書き換えられることはありません。
PS C:\work> Set-Content .\Sample01.txt -Value "Hello, PowerShell" Set-Content : パス 'C:\work\Sample01.txt' へのアクセスが拒否されました。 発生場所 行:1 文字:1 + Set-Content .\Sample01.txt -Value "Hello, PowerShell" + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Set-Content], UnauthorizedAccessException + FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.SetContentCommand
そして、以下は -Force パラメータを指定する例です。特にエラーが発生することなく、書き込みをすることができます。
PS C:\work> Set-Content .\Sample01.txt -Value "Hello, PowerShell" -Force
コマンドレット Tips
これまでに公開したコマンドレット Tips はこちら。
コメント