Board logo

标题: [其他] 批处理里巧妙处理窗口大小的方法 [打印本页]

作者: lixiaodaoaaa    时间: 2009-7-17 22:51     标题: 批处理里巧妙处理窗口大小的方法

批处理里巧妙处理窗口大小的方法




ps:原创文章,非转载文章,请大家给点掌声


以前发在我的百度空间里,现在想算了,还是共享给大家


大家一起学习吧,有什么不懂都可以咨询我,


qq一直在线,欢迎我们一起研究技术,学习!


————————————————————


  1. @echo off
  2. color b0
  3. set a=28
  4. set b=1
  5. :re
  6. set /a a+=4
  7. set /a b+=1
  8. mode con: cols=%a% lines=%b%
  9. if %a% lss 100 goto re
复制代码


————————————————————————————


批处理前面加上如上代码模拟效果,批处理从原来较小窗口,自动变化到指定窗口有动画效果,自我感觉比较好。


简单解释下





=============================================================


@echo off
color b0
set a=28
set b=1
:re
set /a a+=4
set /a b+=1
mode con: cols=%a% lines=%b%
if %a% lss 100 goto re


=================================================

利用 set /a 动态处理 cmd窗口,在弹出的cmd窗口里
自动的弹出一个从小变化到指定的窗口,感觉非常好。
一般我们处理批处理窗口大小的命令
这里简单的解释下:
@echo off
@mode con cols=40 lines=11


-------------------------------

-等等

..这样方便的处理那个黑框子的大小。我们可以改变 cols lines的大小来改变cmd窗口的大小
而此批处理很经典
利用set /a 来自动的调整cmd窗口的大小
是在为妙也。并加循环
再来仔细分析下:如下:


color b0 此处是设定颜色(批处理什么颜色呢?就他好看^^)set a=28 set b=1
set a=28 set b=1 设定初始的时刻cmd窗口大小
:reset /a a+=4set /a b+=1mode con: cols=%a% lines=%b% if %a% lss 100 goto re




利用循环方式从28 lines=1开始往上加了


不错。然后只要a小于100,就开始循环往上加
处理cmd 非常好。这样打开批处理会自动的弹出


然后再缓缓变成指定窗口,有动画效果。^_^




本文章参考了 [url=http://hi.baidu.com/c996387762/blog/item/64fb4ed649dacedaa044dfa1.html]http://hi.baidu.com/c996387762/b ... dacedaa044dfa1.html[/url]


点击这里直接进入参考博客链接


他的博客非常好。在这里向他表示感谢。



看他的部分代码,我加以分析和整理,灵感也来自这里,谢谢大家。



[ 本帖最后由 lixiaodaoaaa 于 2009-7-17 22:56 编辑 ]
作者: chming    时间: 2009-7-18 09:30

鼓掌,这个在集合时能用到,不同的命令,有不的窗口尺寸
作者: lixiaodaoaaa    时间: 2009-7-18 09:47

也可以 用set /a 让他从一个指定的窗口 变成一个 非常小的窗口



也f非常好玩         呵呵。交给你了,直接实验下。自己做代码
作者: 基拉freedom    时间: 2009-8-20 10:59

我想转到我空间去 很不错的教程~~
作者: 523066680    时间: 2009-8-20 11:32

在我刚入门的时候……  见过这样的。

怀念~(破例回帖拉!)
作者: andy七少    时间: 2011-6-9 13:01

有点变戏法的味道,不错
作者: ljzm04    时间: 2011-6-17 10:31

支持,,学习啦
作者: wrz99    时间: 2011-7-27 14:17

我有一个问题:
假如一批处理中要运行5个程序,到第3个窗口最小,到第5个恢复到原来窗口,要如何做呢?
作者: wrz99    时间: 2011-7-27 14:18

  1. echo exit|%ComSpec% /k prompt e 100 B4 00 B0 12 CD 10 B0 03 CD 10 CD 20 $_g$_q$_|debug>nul
  2. chcp 437>nul
  3. graftabl 936>nul
复制代码
这样是全屏,可惜不是我要的代码!
作者: raymai97    时间: 2011-7-30 10:38

把代码加料一下如何?
  1. @echo off
  2. color b0
  3. set a=28
  4. set b=1
  5. :re
  6. set /a a+=4
  7. set /a b+=1
  8. mode con: cols=%a% lines=%b%
  9. if %a% lss 100 goto re
  10. :re1
  11. set /a a-=4
  12. set /a b-=1
  13. mode con: cols=%a% lines=%b%
  14. if %a% gtr 20 (goto re1) else (goto re)
复制代码

作者: raymai97    时间: 2011-7-30 10:40

回复 9# wrz99


    你的意思是到了第3个时,批处理窗口就变到最小,到了第5个,就变回最大?




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2