• ビジネス
  • IT
  • テクノロジー
  • 医療
  • 建設・不動産
  • TRENDY
  • WOMAN
  • ショッピング
  • 転職
  • ナショジオ
  • 日経電子版
  • 日経BP
  • PR

  • PR

  • PR

  • PR

  • PR

安納順一のPowerShell Tips

よく使うコマンドを一挙紹介、便利な使い方を覚えよう

安納 順一=日本マイクロソフト 2017/12/28 日経NETWORK
出典:日経NETWORK 2017年9月号pp.14-15
(記事は執筆時の情報に基づいており、現在では異なる場合があります)
目次一覧

 最終回となる今回は、PowerShellを使う上で頻繁にお世話になる便利なコマンドをまとめて紹介しよう

ファイルの日付や時刻を取り出す

 ファイルの命名や日時の計算などで利用頻度が高いのが、日付や時刻を取得する「Get-Date」だ。そのままでは「2017年7月24日 18:13:50」と出力されるので、ファイル名に使いたい場合は次のように入力する(図1)。日付だけにしたい場合は、FileDateTimeの代わりにFileDateを使う。

Get-Date -Format FileDateTime 
図1●日付や時刻を取得する「Get-Date」コマンド
-Formatオプションを使えば、ファイル名として使えるような書式で出力できる。
[画像のクリックで拡大表示]

 「AddDays」という演算用メソッドを使えば日時演算も可能だ。例えば、取り出した日時に「3日と5時間4分」を加える場合は「(get-date).AddMonths(3).AddDays(5).AddHours(4)」を実行する。もし引き算したい場合には、数字の部分にマイナスを指定すればよい。Get-Dateが持つ演算用メソッドは次のコマンドを実行すれば確認できる(図2)。

Get-Date | Get-Member
図2●Get-Dateが持つ演算用メソッド
これらを使えば、日時に日/時間/分/秒などを加えたり引いたりして出力できる。
[画像のクリックで拡大表示]

処理を一定の時間停止させる

 スクリプトをループさせる場合、処理を一定時間停止させたいときがある。例えば「while(-1){Get-Date}」を実行すると、処理時間の短いGet-Dateを瞬時に繰り返して、画面が同じ日時で埋め尽くされてしまう。一方、次のように「Start-Sleep」を指定すれば一定の時間、停止しながら処理が進んでいく(図3)。

while(-1){Get-Date; Start-Sleep -Seconds 1}
図3●処理を一定時間停止する「Start-Sleep」コマンド
途中で指定した時間だけ待ってから処理を再開する。この画面では「-Seconds 1」オプションで1秒間待つように指示している。
[画像のクリックで拡大表示]
▼紹介しよう
紹介できなかった便利なコマンドに「Tee-Object」がある。通常は、結果をファイルに出力した場合、コンソール画面では確認できないが、Tee-Objectを使うと可能だ。例えば、ファイルの一覧を画面出力すると同時に、ファイルにも保存したい場合は「Get-ChildItem -File | Tee-Object C:\tmp\log.txt」と入力する。

ここから先はITpro会員(無料)の登録が必要です。

次ページ 出力結果を並び替える
  • 1
  • 2

あなたにお薦め

連載新着

連載目次を見る

今のおすすめ記事

ITpro SPECIALPR

What’s New!

経営

アプリケーション/DB/ミドルウエア

クラウド

運用管理

設計/開発

クライアント/OA機器

ネットワーク/通信サービス

セキュリティ

もっと見る