Board logo

标题: [工具合集] 发个多功能批处理第3方 [打印本页]

作者: garyng    时间: 2012-6-11 22:15     标题: 发个多功能批处理第3方

最近研究起了 C,学着学着就心血来潮地写了这个批处理第3方 - gBatch话说 真的很感谢 defanive ~ 他的百度空间真的是太多好康了~(怎么最近没更新了啊?

好啦,废话不多说,来介绍这个 批处理集合工具~
其实呢,这东东里面的功能,这论坛都应该有相应的第3方了吧~
我只是把他们全都集合起来,用自己的代码实现它们~

这个exe体积14KB,功能有哪些呢?看看吧~

1、禁止用户关闭功能
2、Message Beep
3、设置本控制台的标题
4、闪动窗体
5、设置本控制台的图标功能
6、窗体置顶
7、取消窗体置顶
8、将BMP文件显示在屏幕上
9、移动光标
10、开启文件夹/文件/链接
11、延迟
12、字符计算
13、字符填充
14、以特定颜色填充输出
15、以特定的颜色输出文本
16、控制台支持鼠标
17、字串转换为大写
18、字串转换为小写
19、将ASCII转换为字符



因为才刚学C,所以不太会优化,调用速度。。。大家测试下吧

双击exe有英文的帮助,压缩包内有个批处理演示工具
贴代码(很久没碰批处理了,代码很烂。。):
  1. @echo off
  2. set t="gBatch"
  3. title %t%测试程序 - By GaryNg
  4. echo 测试禁止用户关闭功能
  5. echo %t% /d
  6. %t% /d
  7. echo 请试试点击关闭按钮,关闭不到则测试成功
  8. pause
  9. cls
  10. echo 现在测试 Message Beep 功能
  11. echo %t% /b [64^|48^|32^|16]
  12. echo 64 - 标准铃声
  13. %t% /b 64
  14. pause
  15. echo 48 - 系统星号声
  16. %t% /b 48
  17. pause
  18. echo 32 - 系统提问声
  19. %t% /b 32
  20. pause
  21. echo 16 - 系统惊叹声
  22. %t% /b 16
  23. pause
  24. cls
  25. echo 设置本控制台的标题
  26. echo %t% /s "Title"
  27. echo "Title" - 预设值的标题
  28. %t% /s "标题栏变了么?"
  29. echo 标题栏改变即测试成功
  30. pause
  31. cls
  32. echo 现在测试闪动窗体功能
  33. echo %t% /f "Title" FlashTimes
  34. echo "Title" - 与让其闪动的窗口标题
  35. echo 如果 "Title" 等于 "me"即等于闪动本窗口
  36. echo FlashTimes - 欲闪动的次数
  37. echo,
  38. pause
  39. echo 现在开启一个标题为Testing的CMD
  40. start cmd /k title Testing
  41. echo 现在将闪动该窗体 20次
  42. %t% /f Testing 20
  43. pause
  44. echo 现在闪动本窗口20次
  45. %t% /f me 20
  46. pause
  47. cls
  48. echo 现在测试设置本控制台的图标功能
  49. echo %t% /sf "IconFile"
  50. echo "IconFile" 图标文件名
  51. %t% /sf icon.ico
  52. echo 标题图标改变了,即测试成功
  53. pause
  54. cls
  55. echo 现在测试窗体置顶功能
  56. echo %t% /ut "Title"
  57. echo "Title" - 欲置顶的窗口的标题(如果"Title"等于"me",代表将本控制台设置置顶)
  58. echo 现在将本控制台设置为置顶状态
  59. %t% /ut me
  60. echo 试试看点击其他窗体,本窗体没被覆盖代表测试成功
  61. pause
  62. cls
  63. echo 现在测试取消窗体置顶功能
  64. echo /unt "Title"
  65. echo "Title" - 欲取消置顶的窗口的标题(如果"Title"等于"me",代表将本控制台设置取消置顶)
  66. echo 现在为本控制台取消置顶
  67. %t% /unt me
  68. pause
  69. cls
  70. echo 现在测试将BMP文件显示在屏幕上功能
  71. echo %t% /p "bmpFile" bmpWidth bmpHeight ShowTime DestX DestY bmpX bmpY
  72. echo,
  73. echo "bmpFile" - BMP文件路径
  74. echo bmpWidth - 在屏幕上显示显示BMP文件的宽度(0=默认)
  75. echo bmpHeight - 在屏幕上显示显示BMP文件的高度(0=默认)
  76. echo ShowTime - 显示BMP文件的时间
  77. echo DestX - 在屏幕上显示BMP文件的坐标X
  78. echo DestY - 在屏幕上显示BMP文件的坐标Y
  79. echo bmpX - 在屏幕上显示BMP文件的开始坐标X
  80. echo bmpY - 在屏幕上显示BMP文件的开始坐标Y
  81. pause
  82. echo 现在屏幕上的(0,0)显示一个BMP文件,显示时间为1秒
  83. %t% /p bmp.bmp 0 0 1000 0 0 0 0
  84. pause
  85. cls
  86. echo 现在测试移动光标功能
  87. echo %t% /cur Columns Rows
  88. echo Columns - 欲将光标移动到的行数
  89. echo Rows - 欲将光标移动到的列数
  90. pause
  91. echo 先输出一堆字符以演示此功能
  92. for /l %%i in (1 1 10) do (
  93.         for /l %%j in (1 1 80) do (
  94.                 set /p "a=0"< nul
  95.                         )
  96. )
  97. echo 现在将光标移到(0,8)处,并输出Hello,World!
  98. %t% /cur 0 8
  99. echo Hello,World!
  100. pause
  101. cls
  102. echo 现在演示开启文件夹/文件/链接
  103. echo %t% /open "File/Link" Mode
  104. echo "Folder/File/Link" 一个链接或文件等等
  105. echo Mode = 0 - Hide
  106. echo Mode = 1 - NormalFocus
  107. echo Mode = 3 - MaximizedFocus
  108. echo Mode = 4 - NormalNoFocus
  109. echo Mode = 6 - MinimizedNoFocus
  110. pause
  111. echo 现在开启一个文件
  112. %t% /open "bmp.bmp" 1
  113. pause
  114. echo 现在开启一个链接
  115. %t% /open "www.baidu.com"
  116. pause
  117. cls
  118. echo 现在演示延迟功能
  119. echo %t% /sleep Milliseconds、
  120. echo Milliseconds - 延迟的时间(单位:微秒)
  121. echo 现在测试延迟3秒
  122. %t% /sleep 3000
  123. pause
  124. cls
  125. echo 现在演示字符计算功能
  126. echo 返回字符的字节数,值储存在%%errorlevel%%中
  127. echo %t% /lenb "String"
  128. echo "String" - 字串
  129. pause
  130. echo 显示"Hello,World!"的字节数
  131. %t% /lenb "Hello,World!"
  132. echo "Hello,World!"的字节数为:%errorlevel%
  133. pause
  134. cls
  135. echo  现在演示 字符填充功能
  136. echo %t% /fs CharToFill LengthToFill Columns Rows
  137. echo CharToFill = 需要填充的字符的ASCII码
  138. echo LengthToFill = 要填充的字符数量
  139. echo 现在演示从(0,6)开始以字符“0”(ASCII码为48)填充80个
  140. pause
  141. %t% /fs 48 80 0 6
  142. %t% /cur 0 8
  143. pause
  144. cls
  145. echo 现在演示 以特定颜色填充输出
  146. echo %t% /fo Columns Rows Color NumOfCharToFill
  147. echo NumOfCharToFill =  要填充的字符数量
  148. echo Color = 1 - Foreground Blue
  149. echo Color = 2 - Foreground Green
  150. echo Color = 4 - Foreground Red
  151. echo Color = 8 - Foreground Intensity
  152. echo Color = 16 - Background Blue
  153. echo Color = 32 - Background Green
  154. echo Color = 64 - Background Red
  155. echo Color = 128 - Background Intensity
  156. echo Color = 1024 - Horizontal Grid
  157. echo Color = 2048 - Left Vertical Grid
  158. echo Color = 4096 - Right Vertical Grid
  159. echo Color = 32768 - Underscore
  160. echo 可以使用“或”操作(^&)来合成不同的颜色/属性
  161. echo 比如我们要字体为亮青色,背景为亮白色
  162. set /a ColorAttr=2"|"8"|"16"|"32"|"64"|"128
  163. echo 可以这样:set /a var=2"|"8"|"16"|"32"|"64"|"128
  164. echo 现在将(0,3)以亮青色字体,亮白色的背景填充960个字符
  165. %t% /fo 0 3 %ColorAttr% 960
  166. pause
  167. cls
  168. echo 现在演示以特定的颜色输出文本
  169. echo %t% /txto "String" Colums Rows Color
  170. echo "String" = 要输出的文本
  171. echo Color = 1 - Foreground Blue
  172. echo Color = 2 - Foreground Green
  173. echo Color = 4 - Foreground Red
  174. echo Color = 8 - Foreground Intensity
  175. echo Color = 16 - Background Blue
  176. echo Color = 32 - Background Green
  177. echo Color = 64 - Background Red
  178. echo Color = 128 - Background Intensity
  179. echo Color = 1024 - Horizontal Grid
  180. echo Color = 2048 - Left Vertical Grid
  181. echo Color = 4096 - Right Vertical Grid
  182. echo Color = 32768 - Underscore
  183. echo 可以使用“或”操作(^&)来合成不同的颜色/属性
  184. echo 比如我们要字体为亮青色,背景为亮白色
  185. set /a ColorAttr=2"|"8"|"16"|"32"|"64"|"128
  186. echo 可以这样:set /a var=2"|"8"|"16"|"32"|"64"|"128
  187. echo Color = //default 表示用默认的颜色
  188. echo 现在已字体为亮青色,背景为亮白色在(0,21)输出Hello,World!
  189. %t% /txto "Hello,World!" 0 21 %ColorAttr%
  190. pause
  191. cls
  192. echo  现在演示控制台支持鼠标功能
  193. echo %t% /mouse
  194. echo 点击有返回鼠标坐标
  195. %t% /mouse
  196. pause
  197. cls
  198. echo 现在演示将字串转换为大写
  199. echo %t% /upcase "String"
  200. echo "String" = 字串
  201. echo 将"Hello,World!"全转换为大写
  202. %t% /upcase "Hello,World!"
  203. echo,
  204. pause
  205. cls
  206. echo 现在演示将字串转换为小写
  207. echo %t% /lowcase "String"
  208. echo "String" = 字串
  209. echo 将"Hello,World!"全转换为小写
  210. %t% /lowcase "Hello,World!"
  211. echo,
  212. pause
  213. cls
  214. echo 现在演示讲ASCII转换为字符
  215. echo %t% /asciito ASCIICode
  216. echo ASCIICode = 要转换的ASCII码
  217. echo 将ASCII值97转换为字符
  218. %t% /asciito 97
  219. echo,
  220. pause
复制代码
压缩包内有一个名为"bmp.bmp"的BMP文件和"icon.ico"图标文件,演示用的~

好啦介绍的七七八八了,请大家踊跃试用啊~(照顾我下这个C新手嘛~)
源代码呢。。看看大家的反应如何吧~(源代码很多注释啊,得整理整理下~)

EXE+演示文件这里下载:
http://pan.baidu.com/share/link?shareid=169992669&uk=1124163200
作者: qzwqzw    时间: 2012-6-12 20:53

建议求专求精
同时有标准且友好的接口
这样的命令行工具才真正能深入人心
因此建议拆分为多个命令行工具
作者: garyng    时间: 2012-6-12 23:13

回复 2# qzwqzw


哦~谢谢大大的建议~
怎样说
同时有标准且友好的接口
呢?

我还是个C新手啊。。请多多多指教。。
作者: pinke8    时间: 2012-7-7 17:47

受用了,好东西,仔细领教一个先吧
作者: hnfeng    时间: 2012-8-15 16:46

很不错的工具,谢谢分享
作者: shenlong    时间: 2012-9-9 15:38

运行时死在了这里:echo  现在演示控制台支持鼠标功能
作者: garyng    时间: 2012-9-9 22:48

回复 6# shenlong


    试试点击CMD黑框区域,批处理要接受到鼠标信息才会返回!
作者: wsguibu    时间: 2013-12-30 19:59

非一般的强大!我给你跪下了!!
作者: email10t    时间: 2015-3-12 11:25

本帖最后由 email10t 于 2015-3-13 13:09 编辑

好像就是这个:
http://www.bathome.net/redirect. ... 4064&ptid=34654
作者: email10t    时间: 2015-3-31 18:06

感谢分享!




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