无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 15262|回复: 84
打印 上一主题 下一主题

批处理系列2:多彩文字

  [复制链接]
跳转到指定楼层
1#
发表于 2021-7-2 12:49:28 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 青青草 于 2021-7-2 15:18 编辑

完整代码:
  1. @ECHO OFF
  2.    Title 电脑维护
  3.    mode con lines=32 cols=72
  4.    color 1f
  5.    setlocal enabledelayedexpansion
  6.    for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do (set "DEL=%%a")
  7. cls
  8.     echo.
  9.     call :ColorText 1C "                              电脑维护菜单"
  10.     echo.
  11.     echo.
  12.     echo.
  13.     call :ColorText 1B "       磁盘管理                 系统维护                 映像管理"
  14.     echo.
  15.     echo.
  16.     echo.
  17.     call :ColorText 1F "  01. 将整个磁盘分区      11. 重新 安装 系统       21. 查看映像的信息"
  18.     echo.
  19.     echo.
  20.     call :ColorText 1F "  02. 删除指定的分区      12. 完整 备份 系统       22. 将镜像重新命名"
  21.     echo.
  22.     echo.
  23.     call :ColorText 1F "  03. 创建指定的分区      13. 增量 备份 系统       23. 提取指定的镜像"
  24.     echo.  
  25.     echo.
  26.     call :ColorText 1F "  04. 回收分区的空间      14. 还原以前的系统       24. 删除指定的镜像"
  27.     echo.
  28.     echo.
  29.     call :ColorText 1F "  05. 扩容分区的容量      15. 修复 系统 引导       25. 装载并修改镜像"
  30.     echo.
  31.     echo.
  32.     call :ColorText 1F "  06. 格式化指定分区      16. 添加或删除驱动       26. 创建可启动映像"
  33.     echo.
  34.     echo.
  35.     call :ColorText 1F "  07. 显示或隐藏分区      17. 备份或还原驱动       27. 完整备份文件夹"
  36.     echo.
  37.     echo.
  38.     call :ColorText 1F "  08. 管理分区的盘符      18. 查看 驱动 程序       28. 还原映像到目录 "
  39.     echo.
  40.     echo.
  41.     call :ColorText 1F "  09. 管理分区的图标      19. 集成 系统 补丁       29. WIM 与 ESD互转  "
  42.     echo.
  43.     echo.
  44.     call :ColorText 1F "  10. 设置分区为只读      20. 系统检查与修复 "     
  45.     call :ColorText 1C "       30. 退 "       
  46.     call :ColorText 1A " 出"
  47.     call :ColorText 1E " 批"
  48.     call :ColorText 1D " 处"
  49.     call :ColorText 1B " 理"
  50.     echo.
  51.     echo.
  52.         call :ColorText 1A "      温馨提醒:下面每一步操作, 请按回车键确认!"
  53.     echo.
  54. echo.
  55.     echo.
  56.     call :ColorText 1E " 请输入您选择的菜单序号"
  57.     set /p w=:
  58.     echo %w%|findstr "^0">nul && set w=%w:~1,1%
  59.     echo.
  60.     for /l %%i in (1 1 30) do if %w%==%%i goto %%i
  61.     echo.
  62.     call :ColorText 1B "   输错了!请重新输入!"
  63.     echo.
  64. :ColorText
  65.     <nul set /p "=%DEL%" > "%~2"
  66.     findstr /v /a:%1 /R "+" "%~2" nul
  67.     del "%~2" > nul
  68.     goto :eof
复制代码

未标题-1.png (33.26 KB, 下载次数: 158)

未标题-1.png

评分

参与人数 2无忧币 +10 收起 理由
dx163 + 5 赞一个!
plusv + 5 很给力!

查看全部评分

2#
发表于 2021-7-2 13:17:20 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

3#
 楼主| 发表于 2021-7-2 13:30:44 | 只看该作者
bjay2008xmy 发表于 2021-7-2 13:17
findstr  /a后面缺少参数

你不妨试一下。

点评

Win10下确实是这个提示  详情 回复 发表于 2021-7-2 14:25
试过了,正是因为有错误提示  详情 回复 发表于 2021-7-2 13:46
回复

使用道具 举报

4#
发表于 2021-7-2 13:46:17 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

5#
发表于 2021-7-2 14:17:58 | 只看该作者
本帖最后由 plusv 于 2021-7-2 15:03 编辑

Windows XP/7  测试通过.




点评

奇怪,我WIN7运行的时候就提示findstr /a后面缺少参数 这个批处理没有@echo off语句,还是我自己加上去的  详情 回复 发表于 2021-7-2 14:25
回复

使用道具 举报

6#
发表于 2021-7-2 14:25:27 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

7#
发表于 2021-7-2 14:25:27 | 只看该作者

Win10下确实是这个提示

点评

我win10运行跟作者的一样。没有出错。  发表于 2021-7-25 18:47
还是完整代码给你们吧!  详情 回复 发表于 2021-7-2 15:22
回复

使用道具 举报

8#
 楼主| 发表于 2021-7-2 15:19:38 | 只看该作者
bjay2008xmy 发表于 2021-7-2 13:17
findstr  /a后面缺少参数

还是完整代码给你们吧!
回复

使用道具 举报

9#
 楼主| 发表于 2021-7-2 15:19:58 | 只看该作者
bjay2008xmy 发表于 2021-7-2 13:17
findstr  /a后面缺少参数

还是完整代码给你们吧!
回复

使用道具 举报

10#
 楼主| 发表于 2021-7-2 15:20:30 | 只看该作者
bjay2008xmy 发表于 2021-7-2 13:46
试过了,正是因为有错误提示

还是完整代码给你们吧!
回复

使用道具 举报

11#
 楼主| 发表于 2021-7-2 15:21:13 | 只看该作者
bjay2008xmy 发表于 2021-7-2 13:46
试过了,正是因为有错误提示

还是完整代码给你们吧!
回复

使用道具 举报

12#
 楼主| 发表于 2021-7-2 15:22:07 | 只看该作者
flyingdancex 发表于 2021-7-2 14:25
Win10下确实是这个提示

还是完整代码给你们吧!
回复

使用道具 举报

13#
 楼主| 发表于 2021-7-2 15:22:32 | 只看该作者
bjay2008xmy 发表于 2021-7-2 14:25
奇怪,我WIN7运行的时候就提示findstr  /a后面缺少参数
这个批处理没有@echo off语句,还是我自己加上去 ...

还是完整代码给你们吧!
回复

使用道具 举报

14#
发表于 2021-7-2 15:45:07 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

15#
发表于 2021-7-2 16:38:16 | 只看该作者
这个在当年的 cn-dos 论坛玩得很滥了,有一定局限性,不能出现某些字符。

不过比外挂或内嵌二进制的更方便通用。


点评

够用就行,要十全十美很难!  详情 回复 发表于 2021-7-5 09:42
>这个在当年的 cn-dos 论坛玩得很滥了,有一定局限性,不能出现某些字符。 +1. 這句 call :ColorText 1A " 温馨提醒:下面每一步操作, 请按回车键确认!" 我在 繁体 Windows XP/7 测试后才发现,改了就  详情 回复 发表于 2021-7-2 16:49
回复

使用道具 举报

16#
发表于 2021-7-2 16:49:04 | 只看该作者
junyee 发表于 2021-7-2 16:38
这个在当年的 cn-dos 论坛玩得很滥了,有一定局限性,不能出现某些字符。

不过比外挂或内嵌二进制的更方 ...

>这个在当年的 cn-dos 论坛玩得很滥了,有一定局限性,不能出现某些字符
+1.

這句
call :ColorText 1A "      温馨提醒:下面每一步操作, 请按回车键确认!"

我在 繁体 Windows XP/7 测试后才发现,改了就有问题.

点评

改了什么特殊字符出现问题?我怎么就碰不到呢?  详情 回复 发表于 2021-7-3 16:06
回复

使用道具 举报

17#
发表于 2021-7-2 20:15:43 | 只看该作者
学习了!!
回复

使用道具 举报

18#
 楼主| 发表于 2021-7-3 16:06:57 | 只看该作者
plusv 发表于 2021-7-2 16:49
>这个在当年的 cn-dos 论坛玩得很滥了,有一定局限性,不能出现某些字符。
+1.

改了什么特殊字符出现问题?我怎么就碰不到呢?

点评

改一个字就报错.你用附件测试. 正常版: [attachimg]482788[/attachimg] 改一个字就报错版: [attachimg]482789[/attachimg]  详情 回复 发表于 2021-7-4 03:40
回复

使用道具 举报

19#
发表于 2021-7-4 02:44:58 | 只看该作者
技术贴支持一下

点评

谢谢!  详情 回复 发表于 2021-7-5 19:00
回复

使用道具 举报

20#
发表于 2021-7-4 03:40:43 | 只看该作者
青青草 发表于 2021-7-3 16:06
改了什么特殊字符出现问题?我怎么就碰不到呢?

改一个字就报错.你用附件测试.


正常版:




改一个字就报错版:



Error.rar

183 Bytes, 下载次数: 5, 下载积分: 无忧币 -2

点评

中文环境,故意用了英文冒号,让电脑来识别?有意义吗?  详情 回复 发表于 2021-7-4 18:16
你知道错的原因吗?  详情 回复 发表于 2021-7-4 10:56
回复

使用道具 举报

21#
 楼主| 发表于 2021-7-4 10:56:07 | 只看该作者
plusv 发表于 2021-7-4 03:40
改一个字就报错.你用附件测试.

你知道错的原因吗?

点评

知道. 分析它运行思路就知道原因了, 只能闪它的缺点. 自写程式解决: 完美解决. 功能扩展. 运行速度提升.  详情 回复 发表于 2021-7-5 15:57
回复

使用道具 举报

22#
 楼主| 发表于 2021-7-4 18:16:07 | 只看该作者
本帖最后由 青青草 于 2021-7-4 20:06 编辑
plusv 发表于 2021-7-4 03:40
改一个字就报错.你用附件测试.

中文环境,故意用了英文冒号,让电脑来识别?你真会想。

点评

你可看我发的所有文, 我都使用英文符号, 在 OS 上, 我也全部使用英文符号. 另外, 以显示功能来说, MS OS 可以用, 这个批处理就显示功能来说不能用, 这逻辑不是很奇怪. [attachimg]482881[/attachimg]  详情 回复 发表于 2021-7-5 15:52
回复

使用道具 举报

23#
发表于 2021-7-4 18:38:03 | 只看该作者
  1. @ECHO OFF
  2. Title 电脑维护菜单
  3. mode con lines=32 cols=72
  4. color 1f
  5. setlocal enabledelayedexpansion
  6. for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do (set "DEL=%%a")

  7. %1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
  8. cd /d "%~dp0"


  9. :start
  10. cls
  11. echo.
  12. call :ColorText 1C "                              电脑维护菜单"
  13. echo.
  14. echo.
  15. echo.
  16. call :ColorText 1B "       磁盘管理                 系统维护                 映像管理"
  17. echo.
  18. echo.
  19. echo.
  20. call :ColorText 1F "  01. 将整个磁盘分区      11. 重新 安装 系统       21. 查看映像的信息"
  21. echo.
  22. echo.
  23. call :ColorText 1F "  02. 删除指定的分区      12. 完整 备份 系统       22. 将镜像重新命名"
  24. echo.
  25. echo.
  26. call :ColorText 1F "  03. 创建指定的分区      13. 增量 备份 系统       23. 提取指定的镜像"
  27. echo.  
  28. echo.
  29. call :ColorText 1F "  04. 回收分区的空间      14. 还原以前的系统       24. 删除指定的镜像"
  30. echo.
  31. echo.
  32. call :ColorText 1F "  05. 扩容分区的容量      15. 修复 系统 引导       25. 装载并修改镜像"
  33. echo.
  34. echo.
  35. call :ColorText 1F "  06. 格式化指定分区      16. 添加或删除驱动       26. 创建可启动映像"
  36. echo.
  37. echo.
  38. call :ColorText 1F "  07. 显示或隐藏分区      17. 备份或还原驱动       27. 完整备份文件夹"
  39. echo.
  40. echo.
  41. call :ColorText 1F "  08. 管理分区的盘符      18. 查看 驱动 程序       28. 还原映像到目录 "
  42. echo.
  43. echo.
  44. call :ColorText 1F "  09. 管理分区的图标      19. 集成 系统 补丁       29. WIM 与 ESD互转  "
  45. echo.
  46. echo.
  47. call :ColorText 1F "  10. 设置分区为只读      20. 系统检查与修复 "     
  48. call :ColorText 1C "       30. 退 "      
  49. call :ColorText 1A " 出"
  50. call :ColorText 1E " 批"
  51. call :ColorText 1D " 处"
  52. call :ColorText 1B " 理"
  53. echo.
  54. echo.
  55. mshta vbscript:createobject("sapi.spvoice").speak("温馨提醒:下面每一步操作, 请按回车键确认")(window.close)
  56. call :ColorText 1A "      温馨提醒:下面每一步操作, 请按回车键确认!"
  57. echo.
  58. echo.
  59. echo.
  60. call :ColorText 1E " 请输入您选择的菜单序号"
  61. set /p w=:
  62. echo %w%|findstr "^0">nul && set w=%w:~1,1%
  63. echo.
  64. for /l %%i in (1 1 30) do if %w%==%%i goto %%i
  65. echo.
  66. CLS
  67. ECHO.
  68. ECHO.
  69. ECHO 输入有误,按任意键返回主菜单。
  70. PAUSE >nul
  71. goto start
  72. echo.
  73. :ColorText
  74. <nul set /p "=%DEL%" > "%~2"
  75. findstr /v /a:%1 /R "+" "%~2" nul
  76. del "%~2" > nul
  77. goto :eof

  78. :1
  79. cls
  80. ::测试
  81. netsh interface ip set address name="以太网" source=static 10.0.0.219 255.0.0.0 10.0.0.1
  82. netsh interface ip set dns "以太网" source=static 114.114.114.114 >nul
  83. netsh interface ip add dns name="以太网" addr=223.5.5.5 validate=no
  84. echo **正常上网成功**
  85. echo ------------------------------------------
  86. pause
  87. goto start
复制代码
测试了下,挺好了,感谢楼主!

点评

能用就好,不用客气。  详情 回复 发表于 2021-7-4 19:55
回复

使用道具 举报

24#
 楼主| 发表于 2021-7-4 19:55:04 | 只看该作者
zhouaga 发表于 2021-7-4 18:38
测试了下,挺好了,感谢楼主!

能用就好,不用客气。
回复

使用道具 举报

25#
 楼主| 发表于 2021-7-5 09:42:47 | 只看该作者
junyee 发表于 2021-7-2 16:38
这个在当年的 cn-dos 论坛玩得很滥了,有一定局限性,不能出现某些字符。

不过比外挂或内嵌二进制的更方 ...

够用就行,要十全十美很难!
回复

使用道具 举报

26#
发表于 2021-7-5 15:52:32 | 只看该作者
青青草 发表于 2021-7-4 18:16
中文环境,故意用了英文冒号,让电脑来识别?你真会想。

你可看我发的所有文,
我都使用英文符号,
在 OS 上,
我也全部使用英文符号.

另外,
显示功能来说,
MS OS 可以用,
这个批处理就显示功能来说不能用,
这逻辑不是很奇怪.



回复

使用道具 举报

27#
发表于 2021-7-5 15:57:45 | 只看该作者
青青草 发表于 2021-7-4 10:56
你知道错的原因吗?

知道.

分析它运行思路就知道原因了,
只能闪它的缺点.

自写程式解决:
完美解决.
功能扩展.
运行速度提升.

点评

一般而言,输入中文时,不会刻意切换成英文,输入标点,再切换回中文,继续输入。所以,你的情况一般不会出现。除非故意。  详情 回复 发表于 2021-7-5 18:33
回复

使用道具 举报

28#
 楼主| 发表于 2021-7-5 18:33:01 | 只看该作者
plusv 发表于 2021-7-5 15:57
知道.

分析它运行思路就知道原因了,

一般而言,输入中文时,不会刻意切换成英文,输入标点,再切换回中文,继续输入。所以,你的情况一般不会出现。除非故意。

点评

再说了,中文用英文标点符号,也不符合逻辑。  详情 回复 发表于 2021-7-5 18:35
回复

使用道具 举报

29#
 楼主| 发表于 2021-7-5 18:35:06 | 只看该作者
青青草 发表于 2021-7-5 18:33
一般而言,输入中文时,不会刻意切换成英文,输入标点,再切换回中文,继续输入。所以,你的情况一般不会 ...

再说了,中文用英文标点符号,也不符合逻辑。

点评

每个人使用习惯不同, 我是不认同你的说法, 如你所说, 中文 OS 只能中文, 英文 OS 只能英文.  详情 回复 发表于 2021-7-5 18:40
回复

使用道具 举报

30#
发表于 2021-7-5 18:40:57 | 只看该作者
青青草 发表于 2021-7-5 18:35
再说了,中文用英文标点符号,也不符合逻辑。

每个人使用习惯不同,
我是不认同你的说法,
如你所说,
中文 OS 只能中文,
英文 OS 只能英文.

点评

问题是,一段中文,中间的标点用英文,除了你,肯怕很难找到第二个人了。  详情 回复 发表于 2021-7-5 18:52
比如,文字编辑时,中文文字用英文标点,我的语文老师没有这样教过我。如果高考作文,也这样做,不被扣分才怪呢!  详情 回复 发表于 2021-7-5 18:48
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-18 00:14

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表