更新日:2022/03/17
このページではPowershell により指定したファイルを読み取りロックするサンプルコードを紹介します。
ファイルをロックすると他のアプリから読み取ることができなくなります。
例えばテキストファイルに対してこのサンプルプログラムを実行すると、このファイルをメモ帳などで開こうとすると次のようなエラーが発生します。
プロセスはファイルにアクセスできません。別のプロセスが使用中です。
要するに、ファイルが読み取れないということです。読み取り可能とするにはファイルロックの解除が必要です。
サンプルコード集
以下は Windows 10 環境におけるサンプルコードと実行結果です。次の例は$FileToLockで指定したファイルを読み取りロックします。
サンプルコード:
$FileToLock="c:\temp\lockfile.txt"
# ファイルを読み取りロックする
$file = [System.IO.File]::Open($FileToLock,[System.IO.FileMode]::Open,[System.IO.FileAccess]::Read,[System.IO.FileShare]::None)
#ロックを解除する
#$file.Close()
すでにファイルがロックされた状態でロックを実行すると、次のエラーが発生してしまいます。
"4" 個の引数を指定して "Open" を呼び出し中に例外が発生しました: "別のプロセスで使用されているため、プロセスはファイル '
c:\temp\lockfile.txt' にアクセスできません。"
サンプルコード:
[Powershell FAQ トップへ]
[FAQ CENTER トップ]
本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。) Copyright(c) tooljp.com 2007-2018