我的计算机上有一些针对常见问题制作的批处理文件,在本例中,我有其中的一些:
@ECHO OFF
shutdown -s -t 3600
ECHO ========================================
ECHO DEVICE WILL SHUT DOWN IN 1 HOUR
ECHO ========================================
PAUSE
我想对此进行改进,但我基本上对 Batch 一无所知,只知道它是 CMD 控制台的集成脚本语言。我不打算分发这些或任何东西,所以我不会对这些或任何东西进行婴儿防护。我只是希望能够在一个脚本中安排不同的时间。我目前有这个:
@ECHO OFF
ECHO ================================================
ECHO TYPE IN THE TIME IN HOURS UNTIL SHUTDOWN
ECHO ================================================
SET /p h=
SET h=(%h% * 3600)
shutdown -s -t %hours%
SET /a h=(%hours% / 3600")
ECHO ================================================
ECHO DEVICE WILL SHUT DOWN IN %h% HOUR(S)
ECHO ================================================
PAUSE
...但是有一个语法错误,我完全不知道如何修复。对我来说,批处理的文档和语法比 C# 的文档和语法不太连贯,而且我对此很生疏。我尝试了一些变体,但批处理文件设置和调用变量的方式目前似乎很深奥,而且我在网上没有找到我的具体问题。我知道该批处理基本上是过时的遗物,但单击文件并修复问题很容易。
总结一下,
另外:我不知道批处理变量是如何存储的。我不想让任何东西堵塞记忆。我应该在调度和最终 ECHO 完成后告诉 CMD 提示删除这个“h”变量,还是会自动丢弃?
“你在 SET h=(%h% * 3600) 中有一个拼写错误,你没有使用 /a 标志来指定你正在做数学。你应该写成 SET /a h=(%h% * 3600 )”—— 黑暗的东西