【问题标题】:shutdown computer at a particular time .bat在特定时间关闭计算机.bat
【发布时间】:2014-12-02 04:01:54
【问题描述】:

我正在尝试使用 Windows 7 上的 BAT 文件关闭计算机,想知道是否有人知道如何操作。这是我到目前为止得到的(它不起作用)。在此先感谢

@echo off
 :W
if %time% == 08:53:00 goto :Y
if %time% == 08:54:00 goto :X
goto :W

 :Y
taskkill /f /IM "iexplore.exe"
 :X
shutdown.exe /s /f /t 60 /c " Sleeeeeeeep " 

【问题讨论】:

  • 做这样的循环对我来说似乎不是一个好主意。为什么不是执行批处理文件的计划任务?执行关闭文件就足够了,它也会杀死 IE。
  • 顺便说一句,如果您在控制台中运行echo %time%,您会得到准确的格式吗?注意前导空格和秒小数。
  • 从 goto 语句中删除冒号 :。关机后不需要.exe。否则,该语法看起来不错。在 goto W 之前暂停一下,否则你将在这个循环中度过你生命中除了 2 分钟之外的所有时间。
  • 第一:永远不要在没有空闲时间的情况下构建循环以避免最大 CPU 负载。第二:%time% 将时间降低到厘秒 (10:23:46,72),这将永远与精确到秒的时间字符串 (10:23:46) 完全匹配。第三:是的,计划任务是一种更好的方法。

标签: windows batch-file shutdown


【解决方案1】:

你想要一个 .bat 文件有什么理由吗?您可以在 Windows 7 上使用 powershell。在命令提示符下运行它,无需担心脚本文件,只需像 @Andrew 提到的那样计划任务:

schtasks /create /tn "shutdown" /sc daily /st 08:53 /tr "powerShell -command { taskkill /f /IM iexplore.exe; Start-Sleep -Seconds 3600; Stop-Computer -Force }"

【讨论】:

    【解决方案2】:

    它也很好用。您只需输入正确的时间格式即可。它适用于所有其他 Windows 版本。

    例子:

    %time%==00:00:0.00

    我只是修改了你的时间格式并在我的电脑上运行它完美地运行它。

    只有你把它放在 24 小时时间格式

    @echo off
    :W
    if %time% == 20:53:0.00 goto :Y
    if %time% == 20:54:0.00 goto :X
    goto :W
    
    :Y
    taskkill /f /IM "iexplore.exe"
    :X
    shutdown.exe /s /f /t 60 /c " Sleep... "
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-06
      • 2010-09-06
      • 1970-01-01
      • 2012-11-29
      • 1970-01-01
      相关资源
      最近更新 更多