当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 周五乐趣:PowerShell 小睡

作者:精品下载站 日期:2024-12-14 07:48:11 浏览:16 分类:玩电脑

周五乐趣:PowerShell 小睡


[玩转系统] 周五乐趣:PowerShell 小睡

我发现自己只想闭上眼睛几分钟来充电,或者至少消除疲劳。换句话说,我只想像我们在幼儿园那样小睡一会儿。但我需要确保我醒来!由于我总是有一个 PowerShell 控制台,因此我可以将它用作快速而肮脏的闹钟。

对于初学者,我可以使用 Start-Sleep cmdlet 等待 X 秒。因此,如果我想要一个 10 分钟的计时器,我可以运行:

start-sleep -seconds 600

但如果我闭上眼睛怎么知道时间到了?一个快速的解决方案是使用 [console] .NET 类让我的计算机发出蜂鸣声。

[console]::Beep()

因此,要一次运行所有这些,我可以输入如下命令:

start-sleep -seconds 600 ; [console]::Beep()

分号是命令标记的结尾,所以我在这里真正做的是执行 2 个命令。 PowerShell 将休眠 600 秒,当该命令完成时,Beep() 方法将运行。

当然,今天是星期五,所以让我们玩得更开心吧。

Beep() 方法还可以采用 2 个参数。第一个是音调频率,第二个是以毫秒为单位的持续时间。

[console]::Beep(440,1000)

考虑到这一点,我编写了一个 PowerShell 午睡脚本。

#PowerShellNap.ps1

#nap time in minutes
Param([int]$Naptime = 1)

#define the wakeup time
$wake = (Get-Date).AddMinutes($Naptime)

#loop until the time is >= the wake up time
do {
cls
Write-host "Ssshhhh...."

#trim off the milliseconds
write-host ($wake - (Get-Date)).ToString().Substring(0,8) -NoNewline

Start-Sleep -Seconds 1

} Until ( (Get-Date) -ge $wake)

#Play wake up music
[console]::Beep(392,1000)
[console]::Beep((329.6*2),1000)
[console]::Beep(523.2,1000)

Write-Host "`nBack to work sleepy head!" -ForegroundColor Yellow

该脚本采用一个参数来表示您需要小睡的分钟数。然后,它会向可能经过您办公桌的任何人发送一条消息,要求其保持安静。然后,该脚本通过计算目标结束时间和当前时间之间的时间跨度来进行倒计时。我将值写为字符串,以便可以去掉毫秒。

[玩转系统] 周五乐趣:PowerShell 小睡

在倒计时结束时,我重新制作了一个众所周知的铃声,至少对于那些在美国且达到一定年龄的人来说是这样。我会让你自己尝试一下。

[玩转系统] 周五乐趣:PowerShell 小睡

因此,今天再完成一些工作,准备好后,就可以快速使用 PowerShell Power 小睡一下。

C:\scripts\PowerShellNap.ps1 -naptime 10

享受甜蜜的梦。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯