标题: [其他] 请教 批处理 set/p 获取输入时,怎么强调输入的字符? [打印本页]
作者: newswan 时间: 2021-10-22 18:44 标题: 请教 批处理 set/p 获取输入时,怎么强调输入的字符?
请教 批处理 set/p 获取输入时,怎么强调输入的字符?
比如 背景色,前景色?- set/p var="input string : "
复制代码
作者: idwma 时间: 2021-10-22 20:03
本帖最后由 idwma 于 2021-10-22 20:07 编辑
http://www.bathome.net/thread-54470-1-1.html
只记得这个前景的,单行背景色不知道怎么改- @echo off
- :get_key
- set key=
- for /f "delims=" %%a in ('xcopy /w "%~f0" "%~f0" 2^>nul') do (
- cls
- if not defined key set "key=%%a"
- )
- set key=%key:~-1%
- set ckey=%ckey%%key%
- set/p var="input string : "<nul
-
- echo. >%ckey%
- findstr /a:c "." %ckey%*
- del %ckey%
-
- if "%key%"=="" (goto :end) else (goto :get_key)
-
- :end
- echo %ckey%
- pause
复制代码
作者: newswan 时间: 2021-10-22 23:17
回复 2# idwma
谢谢,这种太麻烦了。
用 shell 那种方式最好
作者: newswan 时间: 2021-10-22 23:31
linux/unix 下- echo -e "\033[31m 红色字 \033[0m"
复制代码
作者: newswan 时间: 2021-10-23 15:41
win10 支持 ansi 序列
https://c1ino.github.io/c1ino/2019/08-03-colored-echo-in-win10-command-prompt- set _VTC_=[
- set/p _input_=" :: input : %_VTC_%4m"
- echo %_VTC_%m
- echo %_input_%
复制代码
作者: cmd1152 时间: 2021-10-23 20:29
本帖最后由 cmd1152 于 2021-10-23 22:28 编辑
下一个Ecolor.exe5.0的- @echo off
- call Ecolor.exe e6 "input string:"
- set /p var=
复制代码
Ecolor.exe只能显示字母和中文,所以冒号是中文的
作者: cmd1152 时间: 2021-10-23 20:42
本帖最后由 cmd1152 于 2021-10-23 21:37 编辑
Ecolor5.0下载
作者: cmd1152 时间: 2021-10-23 22:32
回复 2# idwma
按错了,然后点了一下[退位](暗示存在的BUG)
input string : 文件名、目录名或卷标语法不正确。
FINDSTR: 无法打开 5621831*
文件名、目录名或卷标语法不正确。
作者: cmd1152 时间: 2021-10-23 22:34
回复 2# idwma
还有一个缺点,运行路径如果有一个1开头的文件,那么输入1的时候就会Type那个文件,解决方法:新建一个文件夹当临时目录
作者: cmd1152 时间: 2021-10-23 22:40
本帖最后由 cmd1152 于 2021-10-23 22:41 编辑
回复 2# idwma
findstr /a:这里是颜色标签,可以使用color /?获得标签,比如CF "." %ckey%*
findstr /a:AC "." %ckey%*
作者: idwma 时间: 2021-10-24 15:58
回复 10# cmd1152
学到了
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |