选择CHOICE后隐藏CMD批处理文件/ Windows

时间:2015-01-20 22:44:49

标签: batch-file cmd command

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

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

因此,当进行选择时,TIMEOUT应该开始,窗口应该自动隐藏并继续在后台运行。 当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

短规格: ●Windows 7,64位 ●6Gb DDR3 Ram

1 个答案:

答案 0 :(得分:1)

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

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