1

私はユーザのアイドル時間を抽出するためにnet sessionを実行していますが、一部の行ではアイドル時間が06D 21H 03M、つまりxD yH zMの形式になっています。合計分を計算したい時間16D 21H 03MをPowershellの合計時間に変換する方法

スプリットアンドマッチを試してみることもできますが、複数のループのように動作しているようです。

答えて

1

あなたはTimeSpanParseExact方法使用して試すことができます:

[timespan]::ParseExact("06D 21H 03M", "dd\D\ h\H\ mm\M", $null).totalminutes 

をここでは、それが何らかの形でフォーマットへの賢明なので、表現をキャッチしようとしてください9903.

を与えます。


編集:

  • のPowerShell 5.0(Windowsの10)の下で正常に動作します。
  • PowerShell 4.0(Windows 7 + W2K12サーバー)では正常に動作します。
  • PowerShell 3.0でテストすることができなくなりました。
  • PowerShellバージョン2.0では動作しません。
+0

[System.TimeSpan]に 'ParseExact'という名前のメソッドが含まれていないため、メソッドの呼び出しに失敗しました。 – Sambhav

+0

2.0ではなく、別のバージョンで正常に動作しているので、Okはいくつかのバージョンの問題のようです。ありがとうございました。 – Sambhav

+1

PowerShell 2.0では、正規表現マッチを使用してTimeSpanコンストラクタ内で使用できます。 – JPBlanc

関連する問題