1. PowerShellによるタイムスタンプ取得
任意のファイルに対してタイムスタンプを取得する
> Get-ItemProperty .\sample1.txt
.\sample1.txtはカレントディレクトリ配下に存在するファイルを差しています。
2. PowerShellによるタイムスタンプ設定
sample1.txt に対してタイムスタンプを2011年1月1日 AM8:00に設定します。
> Set-ItemProperty .\sample1.txt LastWriteTime -value "1/1/2011 8:00 AM"
3. サンプルスクリプト
ファイル名:filemake.ps1
概要:
サイズ0バイトのファイル1.txt~8.txtを作成し、それぞれのファイルに対して任意のタイムスタンプを設定する。
スクリプト本文:
"" > 1.txt
"" > 2.txt
"" > 3.txt
"" > 4.txt
"" > 5.txt
"" > 6.txt
"" > 7.txt
"" > 8.txt
Set-ItemProperty .\1.txt LastWriteTime -value "1/1/2011 8:00 AM"
Set-ItemProperty .\2.txt LastWriteTime -value "2/1/2011 8:00 AM"
Set-ItemProperty .\3.txt LastWriteTime -value "3/1/2011 8:00 AM"
Set-ItemProperty .\4.txt LastWriteTime -value "4/1/2011 8:00 AM"
Set-ItemProperty .\5.txt LastWriteTime -value "5/1/2011 8:00 AM"
Set-ItemProperty .\6.txt LastWriteTime -value "6/1/2011 8:00 AM"
Set-ItemProperty .\7.txt LastWriteTime -value "7/1/2011 8:00 AM"
Set-ItemProperty .\8.txt LastWriteTime -value "8/1/2011 8:00 AM"
4. サンプルスクリプトの実行準備
既定の状態では拡張子ps1のファイルをダブルクリック、またはPowerShell上で実行しても拡張子に関連付けられたアプリケーションに引き渡されるのみである。
そこで以下のコマンドを用いて、スクリプトファイルの実行ポリシーを確認する。
> Get-ExecutionPolicy
実行ポリシーには以下の4種類がある。
◇Restricted(既定値)
→コマンドのみ実行可能(スクリプトは実行不可)
◇AllSigned
→コマンドと署名のあるスクリプトファイルのみ実行可能
(署名のないスクリプトファイルは実行不可)
◇RemoteSigned
→コマンドと一部のスクリプトファイルが実行可能
インストールしたコンピュータで作成したスクリプトファイルは署名なしで実行可能
ダウンロードしたスクリプトファイル等は署名がないと実効不可
◇Unrestricted
→コマンドと全てのスクリプトファイルが実行可能
(スクリプトファイルに署名の必要はない)
ここでは、同じコンピュータでスクリプトの作成実行する。
したがって、RemoteSigned を選択する
一時的な変更方法は以下のコマンドレットを実行する
> Set-ExecutionPolicy Restricted> Set-ExecutionPolicy RemoteSigned
(※2013/2/1訂正)
実行ポリシーの変更
実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution
_Policies のヘルプ
トピックで説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか?
[Y] はい(Y) [N] いいえ(N) [S] 中断(S) [?] ヘルプ (既定値は "Y"): y
スクリプトを実行します。
> .\filemake.ps1
実行結果を以下に示します。
LastWriteTime Length Name
------------- ------ ----
2011/01/01 8:00 6 1.txt
2011/02/01 8:00 6 2.txt
2011/03/01 8:00 6 3.txt
2011/04/01 8:00 6 4.txt
2011/05/01 8:00 6 5.txt
2011/06/01 8:00 6 6.txt
2011/07/01 8:00 6 7.txt
2011/08/01 8:00 6 8.txt
2011/10/12 22:43 624 filemake.ps1
2011/01/01 8:00 0 sample1.txt
5. スクリプト実行後の後片付け
スクリプトの実行ポリシーを元に戻します。
> Set-ExecutionPolicy Restricted
6. 参考文献
【PowerShell】スクリプトファイル(.ps1)を実行する
http://blog.livedoor.jp/akf0/archives/51313233.html10.ファイルの作成日時/更新日時を取得する
http://hiros-dot.net/PowerShell/file/file10.htm11.ファイルの作成日時/更新日時を設定する
http://hiros-dot.net/PowerShell/file/file11.htm[0回]
PR