我正在寻找一种方法来在用户做出选择之后隐藏批处理文件/ 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
答案 0 :(得分:1)
如果要让批处理脚本隐藏控制台窗口,可以使用powershell -windowstyle hidden -command ""
隐藏窗口。这也是以编程方式最小化和恢复控制台窗口的好方法。有关更多PowerShell命令行开关,请参阅this Technet page。
当然,大多数人自动锁定工作站只需将屏幕保护程序设置为需要密码。这样它会在N分钟空闲后锁定,并且如果您正在做某事,它将不会锁定。