本文目录导读:

我来为您提供一个简单实用的倒计时锁屏脚本,这里提供Windows和macOS两个版本的解决方案:
Windows版本(PowerShell脚本)
# 倒计时锁屏脚本
# 使用方法:在PowerShell中运行本脚本
Write-Host "=== 倒计时锁屏工具 ===" -ForegroundColor Cyan
Write-Host ""
# 获取用户输入的倒计时时间(分钟)
$minutes = Read-Host "请输入倒计时分钟数(直接回车默认5分钟)"
# 默认5分钟
if ([string]::IsNullOrEmpty($minutes)) {
$minutes = 5
}
# 转换为秒
$totalSeconds = [int]$minutes * 60
Write-Host ""
Write-Host "将在 $minutes 分钟后自动锁屏" -ForegroundColor Yellow
Write-Host "按 Ctrl+C 可取消" -ForegroundColor Red
Write-Host ""
# 倒计时循环
for ($i = $totalSeconds; $i -gt 0; $i--) {
$minutesLeft = [math]::Floor($i / 60)
$secondsLeft = $i % 60
# 清除当前行并显示剩余时间
Write-Host "`r剩余时间: $minutesLeft 分 $secondsLeft 秒" -NoNewline -ForegroundColor Green
# 每秒更新一次
Start-Sleep -Seconds 1
}
# 时间到,触发锁屏
Write-Host ""
Write-Host "时间到!正在锁屏..." -ForegroundColor Cyan
# Windows锁屏命令
rundll32.exe user32.dll,LockWorkStation
macOS版本(Bash脚本)
#!/bin/bash
# 倒计时锁屏脚本
# 使用方法:./lock_timer.sh 或 bash lock_timer.sh
echo "=== 倒计时锁屏工具 ==="
echo ""
# 获取用户输入的倒计时时间(分钟)
read -p "请输入倒计时分钟数(直接回车默认5分钟): " minutes
# 默认5分钟
if [ -z "$minutes" ]; then
minutes=5
fi
total_seconds=$((minutes * 60))
echo ""
echo "将在 $minutes 分钟后自动锁屏"
echo "按 Ctrl+C 可取消"
echo ""
# 倒计时循环
while [ $total_seconds -gt 0 ]; do
minutes_left=$((total_seconds / 60))
seconds_left=$((total_seconds % 60))
# 显示剩余时间
printf "\r剩余时间: %d分 %02d秒" $minutes_left $seconds_left
sleep 1
total_seconds=$((total_seconds - 1))
done
echo ""
echo "时间到!正在锁屏..."
# macOS锁屏命令
pmset displaysleepnow
# 或使用以下命令(需要系统偏好设置>安全与隐私>高级 允许)
# osascript -e 'tell application "System Events" to keystroke "q" using {control down, command down}'
增强版Windows脚本(带GUI界面)
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing
# 创建Windows窗体
$form = New-Object System.Windows.Forms.Form
$form.Text = "倒计时锁屏工具"
$form.Size = New-Object System.Drawing.Size(300, 150)
$form.StartPosition = "CenterScreen"
# 创建标签
$label = New-Object System.Windows.Forms.Label
$label.Text = "请输入倒计时(分钟):"
$label.Location = New-Object System.Drawing.Point(20, 20)
$label.Size = New-Object System.Drawing.Size(180, 20)
# 创建输入框
$textBox = New-Object System.Windows.Forms.TextBox
$textBox.Location = New-Object System.Drawing.Point(200, 20)
$textBox.Size = New-Object System.Drawing.Size(50, 20)
$textBox.Text = "5"
# 创建开始按钮
$button = New-Object System.Windows.Forms.Button
$button.Text = "开始"
$button.Location = New-Object System.Drawing.Point(100, 60)
$button.Size = New-Object System.Drawing.Size(100, 30)
# 按钮点击事件
$button.Add_Click({
$minutes = [int]$textBox.Text
$form.Close()
Start-Countdown -Minutes $minutes
})
# 添加控件到窗体
$form.Controls.Add($label)
$form.Controls.Add($textBox)
$form.Controls.Add($button)
# 显示窗体
$form.ShowDialog()
# 倒计时函数
function Start-Countdown {
param([int]$Minutes)
$totalSeconds = $Minutes * 60
Write-Host "将在 $Minutes 分钟后锁屏" -ForegroundColor Yellow
for ($i = $totalSeconds; $i -gt 0; $i--) {
$m = [math]::Floor($i / 60)
$s = $i % 60
Write-Host "`r剩余时间: $m 分 $s 秒" -NoNewline -ForegroundColor Green
Start-Sleep -Seconds 1
}
Write-Host "`n时间到!正在锁屏..." -ForegroundColor Cyan
rundll32.exe user32.dll,LockWorkStation
}
使用方法
Windows PowerShell版本:
- 复制代码保存为
lock_timer.ps1 - 在PowerShell中运行:
.\lock_timer.ps1 - 输入倒计时分钟数,回车确定
macOS版本:
- 复制代码保存为
lock_timer.sh - 赋予执行权限:
chmod +x lock_timer.sh - 运行:
./lock_timer.sh
注意事项
-
权限要求:
- Windows可能需要以管理员身份运行
- macOS可能需要在系统设置中允许终端控制
-
取消操作:
- 按
Ctrl+C可以随时取消倒计时
- 按
-
功能扩展:
- 可以添加开机自启动
- 可以设置为定时任务
- 可以添加声音提醒
您可以把这个脚本保存为文件,需要时运行即可,如果需要在特定时间自动执行,可以配合系统的任务计划程序或cron定时任务使用。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播