找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 19857|回复: 10

[其他] 请教 批处理 set/p 获取输入时,怎么强调输入的字符?

[复制链接]
发表于 2021-10-22 18:44:30 | 显示全部楼层 |阅读模式
请教 批处理 set/p 获取输入时,怎么强调输入的字符?
比如 背景色,前景色?
  1. set/p var="input string : "
复制代码
发表于 2021-10-22 20:03:10 | 显示全部楼层
本帖最后由 idwma 于 2021-10-22 20:07 编辑

http://www.bathome.net/thread-54470-1-1.html
只记得这个前景的,单行背景色不知道怎么改
  1. @echo off
  2. :get_key
  3. set key=
  4. for /f "delims=" %%a in ('xcopy /w "%~f0" "%~f0" 2^>nul') do (
  5.     cls
  6.     if not defined key set "key=%%a"
  7. )
  8. set key=%key:~-1%
  9. set ckey=%ckey%%key%
  10. set/p var="input string : "<nul

  11. echo. >%ckey%
  12. findstr /a:c "." %ckey%*
  13. del %ckey%

  14. if "%key%"=="" (goto :end) else (goto :get_key)

  15. :end
  16. echo %ckey%
  17. pause



复制代码
 楼主| 发表于 2021-10-22 23:17:46 | 显示全部楼层
回复 2# idwma


谢谢,这种太麻烦了。
用 shell 那种方式最好
 楼主| 发表于 2021-10-22 23:31:01 | 显示全部楼层
linux/unix 下
  1. echo -e "\033[31m 红色字 \033[0m"
复制代码
 楼主| 发表于 2021-10-23 15:41:13 | 显示全部楼层
win10 支持 ansi 序列
https://c1ino.github.io/c1ino/2019/08-03-colored-echo-in-win10-command-prompt
  1. set _VTC_=[
  2. set/p _input_="  :: input  : %_VTC_%4m"
  3. echo %_VTC_%m
  4. echo %_input_%
复制代码
发表于 2021-10-23 20:29:16 | 显示全部楼层
本帖最后由 cmd1152 于 2021-10-23 22:28 编辑

下一个Ecolor.exe5.0的
  1. @echo off
  2. call Ecolor.exe e6 "input string:"
  3. set /p var=
复制代码
Ecolor.exe只能显示字母和中文,所以冒号是中文的
发表于 2021-10-23 20:42:20 | 显示全部楼层
本帖最后由 cmd1152 于 2021-10-23 21:37 编辑

Ecolor5.0下载
发表于 2021-10-23 22:32:43 | 显示全部楼层
回复 2# idwma


    按错了,然后点了一下[退位](暗示存在的BUG)
   
input string : 文件名、目录名或卷标语法不正确。
FINDSTR: 无法打开 5621831*
文件名、目录名或卷标语法不正确。
发表于 2021-10-23 22:34:52 | 显示全部楼层
回复 2# idwma


    还有一个缺点,运行路径如果有一个1开头的文件,那么输入1的时候就会Type那个文件,解决方法:新建一个文件夹当临时目录
发表于 2021-10-23 22:40:07 | 显示全部楼层
本帖最后由 cmd1152 于 2021-10-23 22:41 编辑

回复 2# idwma


    findstr /a:这里是颜色标签,可以使用color /?获得标签,比如CF "." %ckey%*
    findstr /a:AC "." %ckey%*
发表于 2021-10-24 15:58:12 | 显示全部楼层
回复 10# cmd1152


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

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 04:10 , Processed in 0.034080 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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