【问题标题】:Using the Get-Date cmdlet使用获取日期 cmdlet
【发布时间】:2016-01-21 20:30:33
【问题描述】:

我正在学习脚本课程作为我的 IT 学位的一部分,但我对我的 powershell 脚本感到困惑。我必须使用Get-Date 来计算我的游戏玩了多长时间,并创建一个日志文件来存储玩过的游戏数量,以及玩过的最短和最长的游戏。日志文件必须在脚本之外创建,但必须在脚本内更新。我把到目前为止的代码放在下面。

$rand = new-object system.random
$number= $rand.next(0,11)
clear-host

do{ $a = read-host -prompt "enter number between 1 and 10"
if ($a -gt $Number) {Write-Host "number is too high"}
elseif ($a -lt $Number) {Write-Host "number is too low"}
elseif ($a -eq $Number) {Write-Host "You did it!! It took you $x tries!"}
else {"You have to guess a number!!!"}
$x = $x + 1
 } while ($a -ne $number)
$path = C:\temp\logfile.log.txt

【问题讨论】:

  • 您有问题吗?你的问题是什么? SO 不是家庭作业帮助网站。
  • 我知道这不是为了获得家庭作业帮助。我的问题是:如何使用 get-date 作为计时器来确定游戏的时长。它只是 get-date.timeofday - get-date.timeofday?
  • 查看这个问题以获得一些想法:stackoverflow.com/q/3513650/775544

标签: powershell


【解决方案1】:

要计时执行,请获取您完成工作之前之后的日期,然后将两者相减得到一个TimeSpan,代表它所花费的时间

$StartTime = Get-Date
# script goes here
$EndTime   = Get-Date
$TimeTaken = $EndTime - $StartTime
Write-Host "A total of $($TimeTaken.TotalSeconds) has passed"

您也可以使用StopWatch 类来完成此操作:

$Watch = [System.Diagnostics.Stopwatch]::StartNew()
# script goes here
$Watch.Stop()
$TimeTaken = $Watch.Elapsed
Write-Host "A total of $($TimeTaken.TotalSeconds) has passed"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-19
    • 2011-02-03
    • 1970-01-01
    相关资源
    最近更新 更多