标题: [文件操作] 批处理如何实现CMD全屏运行? [打印本页]
作者: Ryeah 时间: 2010-12-23 23:40 标题: 批处理如何实现CMD全屏运行?
在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 编辑 ]
作者: powerbat 时间: 2010-12-23 23:54
不务正业是什么意思来着?
如果你能静下心来认真学一下批处理,收获绝对远大于你搞这个。
作者: Ryeah 时间: 2010-12-23 23:57 标题: 回复 2楼 的帖子
二楼兄,你跑题了。。。
作者: powerbat 时间: 2010-12-24 00:01
:1
echo Windows Registry Editor Version 5.00>%windir%\system32\1.reg
echo [HKEY_CURRENT_USER\Console]>>%windir%\system32\1.reg
这么明显,Reg文件中缺少一个空行。这是注册表基础吧?
作者: vsbat 时间: 2010-12-24 00:03
@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
不适用于 Win 7
XP 可以
作者: Ryeah 时间: 2010-12-24 00:15 标题: 回复 4楼 的帖子
4楼兄?空格是什么意思?你把这段代码和进度代码组合起来测试一下,运行两次才能全屏的。
作者: Ryeah 时间: 2010-12-24 00:17 标题: 回复 5楼 的帖子
vsbat兄,我系统是XP的,我表示不理解的是这段代码放在开头执行出来的结果有点超乎意料的。。。。糟。
作者: tmplinshi 时间: 2010-12-24 01:12
可以用第三方命令行工具,例如 nircmdc:复制代码
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |