在bathome上看到有进度条的批处理代码,于是想起来可以假装格式化硬盘,吓吓我的同事,为了效果逼真,我想最大化运行CMD。
- rem 进度条 ▉▉▉▉▉
- set work=0
- set n=0
- set mo=0
- set number=0
- rem all是总数
- set all=5
- set time=%all%
- :show
- :check
- if %number% GTR %mo% set num=%num%▉&set /a mo=%mo%+1&goto check
-
- cls
- echo 正在格式化您的系统,在此期间请勿切断电源。
- echo.
- echo 进度: %n% / %all% 剩余时间:%time%秒
- echo.
- echo.
- echo 完成 %work% %%%
- echo.
- if not "%num%"=="" echo %num%
- if not "%num%"=="" echo %num%
- if %work%==100 goto end
- ping 127.1 -n 3 >nul
- set /a n=%n%+1
- set /a time=%all%-%n%
- set /a work=(%n%)*100/(%all%)
- set /a number=%work%/3
- set /a number=%number%+1
- goto show
- endlocal
-
- endlocal
- echo.
- echo.
- echo.格式化完毕,请按键继续.
- :end
- pasue
复制代码
在找CMD全屏批处理代码之前,我是想通过修改注册表来实现全屏的。原想改掉注册表后,再还原。让别人下次用CMD的时候不是全屏。可是即使可以先修改注册表,但是也只有在第二次启动批处理才能实现全屏。这一段代码无论我怎么想,都没能用注册表如愿。我相信可以做到,只是我的知识面不广,所以还有很多命令没能利用起来。
- @echo on
- :1
- echo Windows Registry Editor Version 5.00>%windir%\system32\1.reg
- echo [HKEY_CURRENT_USER\Console]>>%windir%\system32\1.reg
- echo "FullScreen"=dword:00000001>>%windir%\system32\1.reg
- regedit /s %windir%\system32\1.reg
- :2
- echo Windows Registry Editor Version 5.00>%windir%\system32\2.reg
- echo [HKEY_CURRENT_USER\Console]>>%windir%\system32\2.reg
- echo "FullScreen"=dword:00000000>>%windir%\system32\2.reg
-
- :3
- rem 进度条 ▉▉▉▉▉
复制代码
从今天上午开始研究这一小段代码,一直到我现在发帖,都没有头绪,所以上网搜了一下,这是我在CSDN上看到的全屏代码。但是运行之后出现的问题不如我愿。
- @echo on
- echo exit|%ComSpec% /k prompt e 100 B4 00 B0 12 CD 10 B0 03 CD 10 CD 20 $_g$_q$_|debug>nul
- chcp 437>nul
- graftabl 936>nul
-
- :3
- rem 进度条 ▉▉▉▉▉
复制代码
所以终于还是把这个思考的机会暂时交与各位师兄。
说了以上这么多,我总结下我想得到的答案。
1、用批处理方式修改注册表达到CMD全屏运行代码。
2、用以上转来的批处理代码达到用修改注册表方式的效果。
3、肯定还有很多方法,集思广益最好,小弟不求甚解。
[ 本帖最后由 Ryeah 于 2010-12-23 23:46 编辑 ] |