选择 CHOICE 后隐藏 CMD Batch File/Windows

Hide CMD Batch File/Windows after CHOICE selection is made

我正在寻找一种在用户做出选择后隐藏批处理文件/cmd window 的方法。

基本上,当批处理开始时,用户会得到三个选项,每个选项都包含一个超时时间,直到电脑被锁定。

因此,当做出选择时,超时应该开始并且 window 应该自动隐藏并在后台继续 运行。 当 TIMEOUT 结束时,PC 将被锁定。

这样的事情可能吗?

目前使用的代码

@ECHO off
cls
:start
ECHO.
ECHO TIME LOCK
ECHO.
ECHO 1.     65 Min
ECHO 2.     45 Min
ECHO 3.     30 Min
set /p choice=Select time to lock PC:
rem if not '%choice%'=='' set choice=%choice:~0;1% ( don`t use this command, because it takes only first digit in the case you type more digits. After that for example choice 23455666 is choice 2 and you get "bye"
if '%choice%'=='' ECHO "%choice%" is not valid please try again
if '%choice%'=='1' goto 60min
if '%choice%'=='2' goto 45min
if '%choice%'=='3' goto 30min
ECHO.
goto start
:60min
timeout 3600
rundll32.exe user32.dll, LockWorkStation
goto end
:45min
timeout 2700
rundll32.exe user32.dll, LockWorkStation
goto end
:30min
timeout 1800
rundll32.exe user32.dll, LockWorkStation
goto end
:end
::pause
exit

简短规格: ● Windows7、64位 ● 6Gb DDR3 内存

如果你想让一个批处理脚本隐藏控制台 window,你可以使用 powershell -windowstyle hidden -command "" 来隐藏 window。这也是以编程方式最小化和恢复控制台 window 的好方法。有关更多 PowerShell 命令行开关,请参阅 this Technet page

当然,大多数自动锁定工作站的人只是将屏幕保护程序设置为需要密码。这样它会在 N 分钟 空闲 后锁定,如果你正在做某事,它不会锁定。