|
s11ss
银牌会员
积分 2098
发帖 566
注册 2007-9-11
状态 离线
|
『楼 主』:
[原创]********cmd标题栏动画********
@echo off&setlocal enabledelayedexpansion %title {s11ss 2007-12-12}%
call :m "www.cn-dos.net" " " 4 50
title Press any key to exit...&pause>nul&title %comspec%&exit/b
:m
set s=%~1
set c=%~2
set n=%3
set "d=for /l %%z in (1,1,%4) do cd."
set t=%s%
:c
set t=%t:~1%&set/a l+=1
if not "%t%" equ "" goto :c
for /l %%a in (1,1,%l%) do %d%&title !s:~0,%%a!
for /l %%a in (%l%,-1,1) do %d%&title !s:~0,%%a!
set/a t=%l%-1
for /l %%a in (1,1,%n%) do set "space=!space!%c%"&for /l %%b in (1,1,%t%) do set s%%b%%a=!s:~0,%%b!!space!!s:~%%b,1!
for /l %%a in (1,1,%t%) do for /l %%b in (%n%,-1,1) do %d%&title !s%%a%%b!
title !s!&%d%
for /l %%a in (%t%,-1,1) do for /l %%b in (1,1,%n%) do %d%&title !s%%a%%b!
|
|
2007-12-12 17:58 |
|
|
everest79
金牌会员
一叶枝头,万树皆春
积分 2564
发帖 1127
注册 2006-12-25
状态 离线
|
『第
2 楼』:
高产作家呀,能不能要动画节奏放慢点哈
|
|
2007-12-12 22:01 |
|
|
s11ss
银牌会员
积分 2098
发帖 566
注册 2007-9-11
状态 离线
|
『第
3 楼』:
哪里哪里。
这句中的最后一个数控制速度:
call :m "www.cn-dos.net" " " 4 50
|
|
2007-12-12 22:37 |
|
|
shim
初级用户
积分 85
发帖 73
注册 2007-9-23
状态 离线
|
『第
4 楼』:
拜读了您的程序,很是佩服,思路很好啊。
请教一个问题,如果我要在此基础上,再添加程序功能,在下面的程序中如果想导入你的程序该怎么实现。也就是象:
set x=y
.....
:1
%x%
象这样,请赐教。
|
|
2007-12-12 22:57 |
|
|
s11ss
银牌会员
积分 2098
发帖 566
注册 2007-9-11
状态 离线
|
『第
5 楼』:
把包括标签行:m以内的标签行:m的下面所有的行插入到你的批处理文件尾部,再在你的批处理文件中用call :m 参数来调用,记得用exit/b或goto :eof把:m和批处理主体分开。
[ Last edited by s11ss on 2007-12-12 at 11:07 PM ]
|
|
2007-12-12 23:06 |
|
|
shim
初级用户
积分 85
发帖 73
注册 2007-9-23
状态 离线
|
|
2007-12-12 23:29 |
|
|
shim
初级用户
积分 85
发帖 73
注册 2007-9-23
状态 离线
|
『第
7 楼』:
按照您的指点,好象不能实现标题栏动画。显示的是!s!,如下图所示。可能是我没有搞对方法,您能举个例子说明一下吗?谢谢!
[ Last edited by shim on 2007-12-12 at 11:48 PM ]
附件
1: cmd.GIF (2007-12-12 23:47, 2.31 K,下载次数: 5)
|
|
2007-12-12 23:38 |
|
|
s11ss
银牌会员
积分 2098
发帖 566
注册 2007-9-11
状态 离线
|
|
2007-12-13 12:25 |
|
|
shim
初级用户
积分 85
发帖 73
注册 2007-9-23
状态 离线
|
『第
9 楼』:
@echo off
color 2f
for /f "delims=" %%i in ("%0") do set cdname=%%~dpi
ECHO.
ECHO.升级程序正在查找升级所必须的系统文件,请稍后......
path %SystemRoot%\system32\wbem;%SystemRoot%\system32\;%cdname%
call s.vbs
for /f "skip=1" %%a in ('wmic logicaldisk where "DriveType=3" get caption') do (
for /f "delims=" %%_ in ('dir /s/b/a-d %%a\×××.shim 2^>nul') do (if exist "%%_" set ppath=%%~dp_&goto :end)
)
if not defined ppath echo/请确认是否已安装本程序!!!升级程序找不到系统文件,无法完成升级!!!
pause&exit/b
:end
xcopy *.*/s "%ppath%"/y
cls
color 1f
@ECHO OFF
@ECHO OFF
echo ┢━━━━━━━━━ 程 序 提 示 框 ━━━━━━━━━┪
echo ┃ ┃
echo ┃ ▓ ▓ ▄■▄ ▄■▄ ┃
echo ┃ ▓▓▓▓▓ ▄■▄ ▄■▄ ┃
ECHO ┃ ▓ ▓ ■▼■ ■▼■ ┃
ECHO ┃ ▓▓▓▓▓▓ ■▼■ ■▼■ ┃
echo ┃ ▓ ▓ ▓ ▄▲▄▄▄▲▄ 正在操作…… ┃
echo ┃ ▓ ▓▓ ▓ ▌ ▌ ┃
ECHO ┃ ▓ ▓ ▓ ▓ ▓■▲■ ■▲■ 谢谢您的使用! ┃
ECHO ┃ ▓▓ ■▲■ ■▲■ ┃
ECHO ┃ ┃
ECHO ┃ ┃
echo ┗━━━━━━━━━━━━━━━━┑ ┍━━━━━━━━━━┛
ECHO │ ∕
echo │∕
echo ∕
ECHO.
ECHO off
dd 3000
ECHO. 您的程序路径为:%ppath%
ECHO.
dd 3000
ECHO.
ECHO. 正在启动程序,请稍候.....
dd 3000
cd /d "%ppath%"
start ×××.exe
dd 3000
ECHO off
ECHO.
ECHO. -----------==== 程序完成! 祝您使用愉快!!! ====-----------
ECHO.
ECHO.
ECHO.请稍后,升级程序将自动退出.....
dd 3000
ECHO Y|DEL "%ppath%"\××.exe
ECHO Y|DEL "%ppath%"\××.exe
exit
上述是我的代码,请赐教该怎么样和你的代码使用即可显示你的标题动画,又能完成我的程序工作?
|
|
2007-12-13 14:25 |
|
|
s11ss
银牌会员
积分 2098
发帖 566
注册 2007-9-11
状态 离线
|
『第
10 楼』:
只能互相嵌入吧~~~~~~~
bat1代码
bat2代码
bat1代码
bat2代码
.
.
.
|
|
2007-12-13 14:31 |
|
|
ansipeter
中级用户
替身
积分 269
发帖 130
注册 2007-3-23
状态 离线
|
『第
11 楼』:
感觉楼主的代码对于CMD窗口标题栏闪烁效果太抖动,可能是FOR语句延时造成的这种情况,俺也粗略的写了一个,效果稍微好些,但不敢保证,呵呵,没事儿玩玩而已
@echo off&setlocal enabledelayedexpansion
set "b=www.cn-dos.net"
set "k=-"
for /l %%t in (1,1,60) do set "q=!q! "
call:9527
call:9527 %k%
for %%? in (w=w;w,. c=n,-;d o,s=.,n,e;t) do (
call :bagpipe %%? !p!
set p=!p!%%?)
title Code By Ansipeter&goto:eof
:9527
for /l %%a in (1,1,14) do title !b:~0,%1%%a!&ping -n 1 127.1>nul
goto:eof
:bagpipe
for /l %%n in (1,1,60) do title %2!q:~%%n!%1
ping -n 1 -w 100 127.1>nul
此帖被 +2 点积分 点击查看详情 评分人:【 shim 】 | 分数: +2 | 时间:2007-12-14 00:39 |
|
|
*讨厌的9527* |
|
2007-12-13 16:13 |
|
|
s11ss
银牌会员
积分 2098
发帖 566
注册 2007-9-11
状态 离线
|
『第
12 楼』:
用for处理,速度可以很快,但太闪了,而且很耗CPU。
而用ping处理,速度不能很快,但不太闪,不很耗CPU。
可以把set "d=for /l %%z in (1,1,%4) do cd."
下加一行set "d=ping -n %4 0 >nul"试试效果。(相应的把50换成1)
[ Last edited by s11ss on 2007-12-13 at 06:43 PM ]
|
|
2007-12-13 18:38 |
|