[PowerShell][Set-Content] 読み取り専用ファイルに強制的に書き込む

本記事の概要

この記事では、読み取り専用のファイルに対して、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 はこちら

コメント

タイトルとURLをコピーしました