2017年11月22日

【PowerShell】対象のフォルダ内のファイルを一括で読み取り専用にする


対象のフォルダ内のファイルを一括で読み取り専用にする方法です。

たとえば、フォルダにこのように複数のファイルがあるとします。
PS C:\work\test> Get-ChildItem


    ディレクトリ: C:\work\test


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       2017/10/04     21:04           5544 error001.txt
-a----       2017/10/04     21:05           7392 error002.txt
-a----       2017/10/04     21:05           1848 error003.txt
-a----       2017/10/04     21:05           3696 error004.txt
-a----       2017/10/04     21:05          11088 error005.txt
-a----       2017/10/04     21:05          11088 error006.txt
-a----       2017/10/04     21:06           5544 error007.txt
-a----       2017/10/04     21:06           3696 error008.txt
-a----       2017/10/04     21:06          14784 error009.txt
-a----       2017/10/04     21:06           9240 error010.txt


このフォルダ内のファイルを一括で読み取り専用にするには次のように実行します。
PS C:\work\test> Get-ChildItem -Recurse | %{Set-ItemProperty $_.fullname -Name Attributes  -Value "Readonly"}


もう一度Get-ChildItemで確認してみると、
PS C:\work\test> Get-ChildItem


    ディレクトリ: C:\work\test


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
--r---       2017/10/04     21:04           5544 error001.txt
--r---       2017/10/04     21:05           7392 error002.txt
--r---       2017/10/04     21:05           1848 error003.txt
--r---       2017/10/04     21:05           3696 error004.txt
--r---       2017/10/04     21:05          11088 error005.txt
--r---       2017/10/04     21:05          11088 error006.txt
--r---       2017/10/04     21:06           5544 error007.txt
--r---       2017/10/04     21:06           3696 error008.txt
--r---       2017/10/04     21:06          14784 error009.txt
--r---       2017/10/04     21:06           9240 error010.txt
読み取り専用に変更されました。







スポンサーリンク