如何制作一个休眠批处理文件?

4
我正在尝试创建一个批处理文件来执行简单的命令:
shutdown -h

我已经创建了一个名为shutdown.bat的文件,并在其中添加了这行代码,但是当我运行它时,它只是在命令提示符中不停地输出信息。
我查看了一些批处理网站,发现@echo off命令很受欢迎,但这个命令只是隐藏了输出,而命令执行的情况并没有改变。

尝试从cmd提示符中运行批处理文件,以获取可能有用的输出,这将非常有趣。 - Lennart
它只是在命令窗口中一遍又一遍地发送: C:\Users\Username\Desktop>shutdown -h - ryanscottmurphy
你的批处理文件叫什么名字,也许是 shutdown.bat - jeb
1
关机.bat 有什么相关性吗? - ryanscottmurphy
4个回答

12

结果发现在根目录添加一个更改目录命令即可解决问题。我最终在.bat文件中使用的文本内容如下:

cd c:\
shutdown /h

4

我相信可能已经晚了,但以防万一其他人遇到类似问题。 问题确实出在批处理文件的名称上。您正在调用 shutdown -h 命令,而批处理文件的名称为 shutdown.bat,因此批处理文件在调用自身,导致命令提示符的循环。要解决此问题,您可以将批处理文件重命名或指定包含 shutdown 的目录。


1
或在您的批处理文件中调用 shutdown.exe - kindall

0

很想说我自己解决了这个问题,但实际上我只是在谷歌上搜索了一下。 你需要的代码是

%windir%System32rundll32.exe powrprof.dll,SetSuspendState

如果您前往“开始” -> “运行”,然后键入此内容,它应该可以工作。 因此,如果您在电源选项中启用了休眠,则这也应该在批处理文件中起作用。

希望这可以帮助您

编辑: 附言:单击箭头下面的白色小V(本答案左侧)以接受答案;)


我一定会尝试,但我更感兴趣的是为什么它会在命令窗口中垃圾邮件而不是实际执行命令。 这不是我编写的唯一一个表现出这种行为的批处理文件。 - ryanscottmurphy
这是一个名为shutdown.bat的批处理文件,它只包含一行代码: shutdown -h 当在命令行中运行此确切命令时,计算机会立即进入休眠状态。 - ryanscottmurphy
我不是很擅长批处理文件,但如果你像那样输入,我认为它只会将其识别为字符串。 它会认为这是文本,因为你没有暂停任何东西,它会一直重复自己并记录你刚刚输入的文本。 要尝试这个,请转到开始-->运行,键入CMD,在那里写下您的命令,看看它如何响应。 如果它不进入休眠状态,它在批处理文件中也永远不会这样做。 - Teun Pronk
好的,我找到了。不是关机-h,应该是关机/h。如果你去CMD并输入shutdownhelp,它会显示所有可用于关闭计算机的命令。还满意吗,老兄? ;) 接受这个答案?:P - Teun Pronk
当您在命令行中运行该命令时,它会使计算机休眠... 当从.bat文件中运行时,它只会不停地执行该命令,没有任何效果。 - ryanscottmurphy
显示剩余3条评论

-3

关机:

c:\windows\system32\shutdown -s -f -t 00

(或者执行...shutdown -p -f命令)。

例如:设置时间为-t 1000,保存并运行它。

要中止操作,只需在不同的批处理文件中键入c:\windows\system32\shutdown -a

非常重要的一点需要注意:如果您将此批处理文件定位在启动项中,则会立即执行s/h/r。例如,您创建了一个注销批处理文件并将其放置在启动项中,则会在给定的时间/立即注销计算机。但是,当您登录时按住Shift键,它将中止注销批处理文件,否则您的计算机将一遍又一遍地注销。您不必这样做,我不确定它是否适用于每台计算机。

创建一个用户并在那里尝试,以防您无法登录。祝你好运。

重新启动:

c:\windows\system32\shutdown -r -t 00

对于Hibernate:

c:\windows\system32\shutdown /h

参考:https://www.instructables.com/id/Shutdown-restart-or-hibernate-your-computer-on-a/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接