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

[文本处理] 批处理输出彩色文字不能自定义位置,变量延迟是否可以删除?

下面代码有错误的,先看代码,再看问题

@echo off
color 47
call :yanse 40                      XP与W7通用垃圾清理  
echo.
省略一些代码。。。

call :yanse 40 set /p pwd=选择要清理的内容:
if %pwd%=="QQ" GOTO qq
省略一些代码。。。

:qq
@echo off&setlocal enabledelayedexpansion
for /f "tokens=2 delims=[版本" %%i in ('ver') do (set a=%%i&set b=!a:]=!&set c=!b: =!)
if "%a:~1,3%" equ "6.1" goto qq7
if "%a:~1,3%" equ "5.1" goto qqxp
if "%a:~1,3%" neq "5.1" (if "%a:~1,3%" neq "6.1" echo 你的系统不是xp也不是W7)

:yanse
pushd "%temp%"
>"%~2",set/p= <nul
findstr /a:%~1 .* "%~2*"
del "%~2"
popd

现在整个BAT界面是红色的,文字白色,看我的疑问:
1:原来“XP与W7通用垃圾清理”前面是echo,在BAT界面的中央位置,因为把它的颜色换了黑色,所以导致这几个文字靠界面的左边显示了,不能自定义文字的位置了,求解答!

2:在 set /p pwd前面加上换颜色的代码,BAT界面只显示set,并且整个BAT的界面剧烈颤动,如何使set后面的提示文字也变成彩色,并且界面不颤动

3、如果是“清理 垃圾”被加了颜色,运行后只能显示“清理”,“垃圾”显示不出来,因为中间有空格

4、就是那个变量延迟&setlocal 了,能否去掉???因为在下面还有echo显示文字信息的命令,吧&setlocal 加进去,运行到下面,就会提示echo处于关闭状态了! 大家看看能不能去掉

[ 本帖最后由 360bbs 于 2010-10-25 19:19 编辑 ]

用ECHO要有个好习惯echo.加个.就不会出现了
关于定位显示你可以参考不用ECHO改用 SET /P a=内容<nul

TOP

回楼上,我加了哪个点了
大侠帮帮忙啊,谢谢

TOP

高手这个时候怎么都不在呢?在顶一下等高手帮忙解答,谢谢

TOP

你用SYBC不是很方便吗

TOP

返回列表