看到大家还在黑暗中使用
脚本技术,我想出来说几句。
2 R7 g, r0 q; k& `7 ~7 d- V; W% K
我对几个常见的脚本作一个罗列,指出它们的优缺点,然后发一个我原创的shell。
6 f. {) S( {/ E5 N; U7 o$ N
d9 A D( c- ^脚本有很多优点,主要在于它不用编译,编写完即可执行。可以做很多
系统管理方面的工作。
G, i* u% r( V4 n6 ?' [-------------------------------------------------------------------------------------------------------------------------
' q1 \! j/ `, U6 r1 A* D. k
cmd-shell: 这是
windows自带的脚本,只要你使用开始->运行,cmd,即可打开,可编写.bat脚本。缺点是实在是太弱了,对命令结果的赋值,对变量的计算,加减除等,支持都不好,没有while,do,for等循环。一句话,很弱。
) f/ k8 m, z% K优点是不用安装(这个很重要)
3 ] }9 d, z1 ~+ f-------------------------------------------------------------------------------------------------------------------------
& q1 m$ g( l; B+ n4 A8 s% |- s
vbscript: 也是widnows自带的脚本。这个功能强一点,而且也可以执行cmd-shell这个脚本的命令。编写的是.vbs为后缀的脚本。支持变量赋值,循环等等。另外也有正则表达式,(这个很重要),应当说非常不错,缺点可能是速度不是很理想。对于它的使用,我想提两点,其一是你可以在cmd-shell里使用它。可以这样:C

Documents and Settings\Administrator>cscript.exe
文件名.vbs [参数列表] .
+ F# G% u9 \/ U+ @其二,vbscript是可以截获cmd命令输出的,这个恐怕很多人不知道,我们以截获ipconfig /all 输出为例。
- a# I: i/ }) _$ i( P' M' r' A* D, @3 p! Z6 a
Set objShell = CreateObject("WScript.Shell")0 A' r& U& R$ N$ n3 m7 q
Set objWshScriptExec = objShell.Exec("ipconfig /all")
) o- P4 H9 L* ^Set objStdOut = objWshScriptExec.StdOut
4 g. P6 T% a. P2 d$ U% w1 z$ y//以下是一行一行读取,
_1 |( S# h) Z" ^ \2 V: vWhile Not objStdOut.AtEndOfStream; ?* M: Z5 T8 y
strLine = objStdOut.ReadLine
# j! l2 }- f' ~" M) r; I WScript.Echo strLine
# k* X. d, X5 J4 JWend
1 J3 ?6 [. l+ i3 i3 E l$ h3 y3 c) \! {//也可以一下子全部读取。: `4 d+ P& y; W* t5 x9 O% h
Do While NotobjExecObject.StdOut.AtEndOfStream
" d& ~+ n8 Q7 H( Q8 P& }strText = objExecObject.StdOut.ReadAll()
7 O0 N/ L, j1 sloop
$ c& { t" I/ X( @
msgbox strText
- k3 z3 }, D/ D3 s* U+ Q. `
4 s5 H! n1 U5 g% T5 S有了这个技巧,实际上你可以把vbscript脚本和cmd-shell脚本这两种技术的优点全部合在一起了,
" H N1 t8 y4 k. W% S& p* a
从而形成一股合力。做你想做的任何事情。
$ P+ J" j( U5 I-------------------------------------------------------------------------------------------------------------------------
! K( J+ t6 @: t/ NServices For Unix (SFU): 可以让你使用unix/linx下的命令行来进行管理,但是这个很麻烦,暴大,而且要安装到ntfs格式中,以前是要钱的,现在不要钱了,
1 V+ c, I7 z1 v& W很多人问这个玩意的
下载地址,这里我给一个吧,应该是最新的版本:
. W5 a. ]6 b9 F' u7 O$ tSFU下载地址
$ r5 [7 z) r# k) E+ m; f8 m# i) v& N, G9 e3 I
Microsoft® Windows® Services for UNIX (SFU) 3.5允许Windows和UNIX的
计算机之间共享数据、安全信任。
# B5 _* n: J( ~( K
! k/ V3 ?- X5 u% j+ q/ ? B
http://download.microsoft.com/download/a/1/c/a1ca7af1-a6e3-46e7-874a-4c5d8c0fb3b7/SFU35SEL_EN.exe( I- C$ Y& F- Y4 `
0 _0 h5 f; W4 g% {9 {但是这个玩意你要准备好被它玩的准备。缺点不用说,需要安装,(本人非常讨厌需要安装而且块头又大的东西。)
( c6 A( _# ~1 x8 P# X7 o
1 _1 \$ J8 E+ q* f2 t4 q( [写不完了,下一贴继续。
$ N" D9 Y L8 y8 w) V: Y/ D: `3 J3 H1 I% S0 T$ v
[
本帖最后由 sunshine217 于 2007-11-6 21:18 编辑 ]