|
willsort
元老会员
         Batchinger
积分 4432
发帖 1512
注册 2002-10-18
状态 离线
|
『第
16 楼』:
下面是一个按表顺序转换字符串的程序,原文来自本站开发室:
http://model.chinajewelry.net/dos/dosbbs/dispbbs.asp?boardID=6&ID=9250
此程序为批处理中字符串值的顺序转换而编写,一般作为子程序被其他程序调用,也可以将此程序稍做修改,添加入特定批处理程序中作为子模块调用。
Quote: | @echo off
if [%1]==[$] goto %2
if [%1]==[] goto nullargu
:main 主模块: count, match 句参数列表可以根据需要重新设定和增减
set factor=%1
call %0 $ count 1 2 3 4 5 7 8 9
call %0 $ match c d e f g h i j
goto display
:count 计数模块: 根据指定参数 factor 设置变量值 #a1, #a2
if [%3]==[] goto overflow
set #a1=%#a1%-
if not [%#a1%]==[----------] goto count_2
set #a1=
set #a2=%#a2%+
if [%#a2%]==[++++++++++] goto overflow
:count_2
if [%3]==[%factor%] goto end
shift
goto count
:match 匹配模块: 循环递增变量 #b1, #b2, 若分别与 #a1, #a2 相等, 则指定结果值为当前循环的参数 3.
if [%3]==[] goto overflow
set #b1=%#b1%-
if not [%#b1%]==[----------] goto match_2
set #b1=
set #b2=%#b2%+
if [%#b2%]==[++++++++++] goto overflow
:match_2
if [%#a1%]==[%#b1%] if [%#a2%]==[%#b2%] set result=%3
if not [%result%]==[] goto end
shift
goto match
:display 显示模块: 显示赋值结果
if [%error%]==[] echo %factor% convert %result%
set result=
set factor=
set error=
set #a1=
set #a2=
set #b1=
set #b2=
goto end
:nullargu
echo.
echo Error: argument 1 not specified.
echo.
goto end
verflow
echo.
echo Error: number is overflow.
set error=overflow
echo.
goto end
:end |
|
|

※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得! |
|
2004-2-6 00:00 |
|
|
willsort
元老会员
         Batchinger
积分 4432
发帖 1512
注册 2002-10-18
状态 离线
|
『第
17 楼』:
下面是一个获取errorlevel值到环境变量的程序,原文来自本站开发室:
http://model.chinajewelry.net/dos/dosbbs/dispbbs.asp?boardID=6&ID=9358
Quote: | @echo off
set el=0
if errorlevel 1 set el=1
if not errorlevel 2 goto end
:partbydec
for %%h in (1 2) do if errorlevel %%h00 set elh=%%h
if [%elh%]==[1] for %%t in (0 1 2 3 4 5 6 7 8 9) do if errorlevel %elh%%%t0 set elt=%elh%%%t
if [%elh%]==[2] for %%t in (0 1 2 3 4 5) do if errorlevel %elh%%%t0 set elt=%elh%%%t
if not [%elt%]==[25] for %%o in (0 1 2 3 4 5 6 7 8 9) do if errorlevel %elt%%%o set el=%elt%%%o
if [%elt%]==[25] for %%o in (0 1 2 3 4 5) do if errorlevel %elt%%%o set el=%elt%%%o
set elh=
set elt=
:end
if not [%1]==[@] echo current errolevel is %el% |
|
[此贴子已经被作者于2004-2-6 15:02:07编辑过]
|

※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得! |
|
2004-2-6 00:00 |
|
|
pontiff
初级用户
 
积分 119
发帖 7
注册 2004-5-11
状态 离线
|
|
2004-5-13 00:00 |
|
|
bush
银牌会员
    
积分 2165
发帖 730
注册 2004-4-21
状态 离线
|
『第
19 楼』:
楼主对批处理真是情有独钟,我先收下慢慢看,(忍不住先回帖,过两天争取有点收获)
本来我曾打算做一个遍历目录的批处理,但没写出来,后来用C 写,但结果也很笨拙——有些目录会死机。这种东西用DOS本身来完成是最好的了。
|
|
2004-6-22 00:00 |
|
|
bush
银牌会员
    
积分 2165
发帖 730
注册 2004-4-21
状态 离线
|
『第
20 楼』:
我还不知道如何使用[30C ,不过是否这样的小狗更像些呢?
@ECHO OFF
CLS
ECHO.
ECHO (\__
ECHO (\ `\__
ECHO (`, .------.,-' b i
ECHO `-/ ',__,-"`
ECHO 7 `; , /
ECHO \ ;.----/ ,/
ECHO ) // / ( ( \
ECHO \ \`.`\ \ \ \
ECHO `-` `" `-`"
PAUSE>NUL
|
|
2004-6-23 00:00 |
|
|
龙王
银牌会员
    
积分 1186
发帖 334
注册 2003-5-30
状态 离线
|
『第
21 楼』:
Quote: | 以下是引用zww3008在2004-1-14 15:42:25的发言:
这些都是很精典的批处理程序,很值得初学者学习参考体味,如果不希望贴子灌水的话,那就请版主置顶吧!不要让贴子沉了。 |
|
好不容易再次找到
我真幸运~~
为了大家
我顶一把
|
|
2004-10-14 00:00 |
|
|
defrag
中级用户
   痴迷DOS者
积分 456
发帖 570
注册 2004-10-9
状态 离线
|
『第
22 楼』:
UPING
|

DOS不是万能的,没有DOS是万万不能的
自古系统谁无死?留取胆清照汗青![upload=bmp]uploadImages/20035317345478982.png[/upload] |
|
2005-2-24 00:00 |
|
|
lhz95418005
初级用户
 
积分 106
发帖 3
注册 2005-2-25
状态 离线
|
『第
23 楼』:
郁闷我怎么觉得学的东西越多不懂的东西越多啊刚开学本想再玩两天的明天还是去图书管吧[em01]
|
|
2005-2-25 00:00 |
|
|
yangfw54
新手上路

积分 10
发帖 3
注册 2005-11-19
状态 离线
|
『第
24 楼』:
确实是难得的好教材,再顶上来!
|
|
2005-11-20 14:28 |
|
|
doscc
中级用户
  
积分 256
发帖 93
注册 2006-3-26 来自 广东
状态 离线
|
|
2006-3-30 13:08 |
|
|
kmlxk
初级用户
 
积分 45
发帖 17
注册 2006-9-23
状态 离线
|
『第
26 楼』:
O.O这么经典的东西,强得掉渣啊!
|
|
2006-9-30 09:29 |
|
|
electronixtar
铂金会员
      
积分 7493
发帖 2672
注册 2005-9-2
状态 离线
|
『第
27 楼』:
忍不住在顶一下,怀念willsort
|

C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>" |
|
2006-9-30 11:31 |
|
|
lxmxn
版主
       
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第
28 楼』:
是啊,很久不见willsort兄的精彩“演讲”了,怀恋……
|
|
2006-10-20 03:06 |
|
|
redtek
金牌会员
     
积分 2902
发帖 1147
注册 2006-9-21
状态 离线
|
『第
29 楼』:
这么精彩的帖子怎么能让它沉下去~:)
欣赏~:)
|

Redtek,一个永远在网上流浪的人……
_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._ |
|
2007-2-8 07:09 |
|
|
anqing
高级用户
   
积分 859
发帖 413
注册 2006-8-14
状态 离线
|
|
2007-2-8 08:40 |
|