[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

请教 批处理 set/p 获取输入时,怎么强调输入的字符?
比如 背景色,前景色?
  1. set/p var="input string : "
复制代码

本帖最后由 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
复制代码

TOP

回复 2# idwma


谢谢,这种太麻烦了。
用 shell 那种方式最好

TOP

linux/unix 下
  1. echo -e "\033[31m 红色字 \033[0m"
复制代码

TOP

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_%
复制代码

TOP

本帖最后由 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只能显示字母和中文,所以冒号是中文的
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

本帖最后由 cmd1152 于 2021-10-23 21:37 编辑

Ecolor5.0下载
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

回复 2# idwma


    按错了,然后点了一下[退位](暗示存在的BUG)
   
input string : 文件名、目录名或卷标语法不正确。
FINDSTR: 无法打开 5621831*
文件名、目录名或卷标语法不正确。
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

回复 2# idwma


    还有一个缺点,运行路径如果有一个1开头的文件,那么输入1的时候就会Type那个文件,解决方法:新建一个文件夹当临时目录
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

本帖最后由 cmd1152 于 2021-10-23 22:41 编辑

回复 2# idwma


    findstr /a:这里是颜色标签,可以使用color /?获得标签,比如CF "." %ckey%*
    findstr /a:AC "." %ckey%*
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

回复 10# cmd1152


    学到了

TOP

返回列表