佳丽斯 加厚双人/单人秋冬被子暖冬 羊毛被芯羊毛柔丝被特价包邮 忧忧鱼冬外穿打底裤女秋冬厚长裤女裤加绒加厚高腰弹力铅笔裤靴裤 韩国代购2013新款 韩版秋冬休闲女时尚磨破口袋卫衣韩版学生装 潮

有时,退一步,能一口气进几步,只是这先退一步需要勇气和自信。

用心爱你,努力工作。

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  70 随笔 :: 1 文章 :: 33 评论 :: 0 Trackbacks

#

     摘要: Normal 0 7.8 pt 0 2 false false false MicrosoftInternetExplorer4 /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal";...  阅读全文
posted @ 2009-11-24 13:38 王生生 阅读(250) | 评论 (0)编辑 收藏

急事,慢慢的说;大事,清楚的说;小事,幽默的说;没把握的事,谨慎的说; 没发生的事,不要胡说; 做不到的事,别乱说; 伤害人的事,不能说; 讨厌的事,对事不对人的说; 开心的事,看场合说; 伤心的事,不要见人就说; 别人的事,小心的说; 自己的事,听听自己的心怎么说; 现在的事,做了再说。
posted @ 2009-11-22 18:39 王生生 阅读(201) | 评论 (0)编辑 收藏

1 echo 和 @
回显命令
@                        #关闭单行回显
echo off                 #从下一行开始关闭回显
@echo off                #从本行开始关闭回显。一般批处理第一行都是这个
echo on                  #从下一行开始打开回显
echo                     #显示当前是 echo off 状态还是 echo on 状态
echo.                    #输出一个”回车换行”,空白行
                            #(同echo, echo; echo+ echo[ echo] echo/ echo)


2 errorlevel
echo %errorlevel%
每个命令运行结束,可以用这个命令行格式查看返回码
默认值为0,一般命令执行出错会设 errorlevel 为1


3 dir
显示文件夹内容
dir                     #显示当前目录中的文件和子目录
dir /a                  #显示当前目录中的文件和子目录,包括隐藏文件和系统文件
dir c: /a:d             #显示 C 盘当前目录中的目录
dir c: /a:-d            #显示 C 盘根目录中的文件
dir c: /b/p            #/b只显示文件名,/p分页显示
dir *.exe /s            #显示当前目录和子目录里所有的.exe文件


4 cd
切换目录
cd                     #进入根目录
cd                      #显示当前目录
cd /d d:sdk            #可以同时更改盘符和目录


5 md
创建目录
md d:abc             #如果 d:a 不存在,将会自动创建中级目录
#如果命令扩展名被停用,则需要键入 mkdir abc。

6 rd
删除目录
rd abc                  #删除当前目录里的 abc 子目录,要求为空目录
rd /s/q d:temp         #删除 d:temp 文件夹及其子文件夹和文件,/q安静模式


7 del
删除文件
del d:test.txt         #删除指定文件,不能是隐藏、系统、只读文件
del /q/a/f d:temp*.*
删除 d:temp 文件夹里面的所有文件,包括隐藏、只读、系统文件,不包括子目录
del /q/a/f/s d:temp*.*
删除 d:temp 及子文件夹里面的所有文件,包括隐藏、只读、系统文件,不包括子目录


8 ren
重命名命令
ren d:temp tmp         #支持对文件夹的重命名

9 cls
清屏

10 type
显示文件内容
type c:boot.ini        #显示指定文件的内容,程序文件一般会显示乱码
type *.txt              #显示当前目录里所有.txt文件的内容


11 copy
拷贝文件
copy c:test.txt d:test.bak
复制 c:test.txt 文件到 d: ,并重命名为 test.bak
copy con test.txt
从屏幕上等待输入,按 Ctrl+Z 结束输入,输入内容存为test.txt文件
con代表屏幕,prn代表打印机,nul代表空设备
copy 1.txt + 2.txt 3.txt
合并 1.txt 和 2.txt 的内容,保存为 3.txt 文件
如果不指定 3.txt ,则保存到 1.txt
copy test.txt +
复制文件到自己,实际上是修改了文件日期


12 title
设置cmd窗口的标题
title 新标题            #可以看到cmd窗口的标题栏变了


13 ver
显示系统版本

14 label 和 vol
设置卷标
vol                     #显示卷标
label                   #显示卷标,同时提示输入新卷标
label c:system          #设置C盘的卷标为 system

15 pause
暂停命令

16 rem 和 ::
注释命令
注释行不执行操作

17 date 和 time
日期和时间
date              #显示当前日期,并提示输入新日期,按"回车"略过输入
date/t            #只显示当前日期,不提示输入新日期
time              #显示当前时间,并提示输入新时间,按"回车"略过输入
time/t            #只显示当前时间,不提示输入新时间


18 goto 和 :
跳转命令
:label            #行首为:表示该行是标签行,标签行不执行操作
goto label        #跳转到指定的标签那一行


19 find (外部命令)
查找命令
find "abc" c:test.txt
在 c:test.txt 文件里查找含 abc 字符串的行
如果找不到,将设 errorlevel 返回码为1
find /i “abc” c:test.txt
查找含 abc 的行,忽略大小写
find /c "abc" c:test.txt
显示含 abc 的行的行数


20 more (外部命令)
逐屏显示
more c:test.txt        #逐屏显示 c:test.txt 的文件内容


21 tree
显示目录结构
tree d:                #显示D盘的文件目录结构


22 &
顺序执行多条命令,而不管命令是否执行成功

23 && 和 ||
&&顺序执行多条命令,当碰到执行出错的命令后将不执行后面的命令
| | 顺序执行多条命令,当碰到执行正确的命令后将不执行后面的命令

find "ok" c:test.txt && echo 成功
如果找到了"ok"字样,就显示"成功",找不到就不显示

find "ok" c:test.txt || echo 不成功
如果找不到"ok"字样,就显示"不成功",找到了就不显示

24 |
管道命令
dir *.* /s/a | find /c ".exe"
管道命令表示先执行 dir 命令,对其输出的结果执行后面的 find 命令
该命令行结果:输出当前文件夹及所有子文件夹里的.exe文件的个数
type c:test.txt|more
这个和 more c:test.txt 的效果是一样的


25 > 和 >> 和 ^
输出重定向命令
> 清除文件中原有的内容后再写入
>> 追加内容到文件末尾,而不会清除原有的内容
主要将本来显示在屏幕上的内容输出到指定文件中
指定文件如果不存在,则自动生成该文件
type c:test.txt >prn
屏幕上不显示文件内容,转向输出到打印机
echo hello world>con
在屏幕上显示hello world,实际上所有输出都是默认 >con 的
copy c:test.txt f: >nul
拷贝文件,并且不显示"文件复制成功"的提示信息,但如果f盘不存在,还是会显示出错信息
copy c:test.txt f: >nul 2>nul
不显示”文件复制成功”的提示信息,并且f盘不存在的话,也不显示错误提示信息
^的作用是把命令符号转意成文本符号,它也可以转意自己,如:
echo ^^W ^> ^W>c:test.txt
生成的文件内容为 ^W > W
^ 和 > 是控制命令,要把它们输出到文件,必须在前面加个 ^ 符号
set /p=^|
|是管道命令,要显示|,就要加^

26 '' 和 ""
单引号的作用是,将多个命令组成的复合语句当成一条语句
双引号的表示其内部内容为文本符号,它也可以连接两个或多个以空格间隔的文本符号
for /f "tokens=15" %%i in ('ipconfig ^| find /i "ip address"') do set ip=%%i
ipconfig为语句一,find /i "ip address"为语句二,用单引号合为一条语句

IF /I "%c%"=="1" ECHO %c%
set p="I Love You!!"
find if set

27 <
从文件中获得输入信息,而不是从屏幕上
一般用于 date time label 等需要等待输入的命令
@echo off
echo 2005-05-01>temp.txt
date <temp.txt
del temp.txt
这样就可以不等待输入直接修改当前日期

28 %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %*
命令行传递给批处理的参数
%0 批处理文件本身
%1 第一个参数
%9 第九个参数
%* 从第一个参数开始的所有参数

批参数(%n)的替代已被增强。您可以使用以下语法:

        %~1             - 删除引号("),扩充 %1
        %~f1            - 将 %1 扩充到一个完全合格的路径名
        %~d1            - 仅将 %1 扩充到一个驱动器号
        %~p1            - 仅将 %1 扩充到一个路径
        %~n1            - 仅将 %1 扩充到一个文件名
        %~x1            - 仅将 %1 扩充到一个文件扩展名
        %~s1            - 扩充的路径指含有短名
        %~a1            - 将 %1 扩充到文件属性
        %~t1            - 将 %1 扩充到文件的日期/时间
        %~z1            - 将 %1 扩充到文件的大小
        %~$PATH : 1 - 查找列在 PATH 环境变量的目录,并将 %1
                      扩充到找到的第一个完全合格的名称。如果环境
                      变量名未被定义,或者没有找到文件,此组合键会
                      扩充到空字符串

可以组合修定符来取得多重结果:

       %~dp1           - 只将 %1 扩展到驱动器号和路径
       %~nx1           - 只将 %1 扩展到文件名和扩展名
       %~dp$PATH:1 - 在列在 PATH 环境变量中的目录里查找 %1,
                      并扩展到找到的第一个文件的驱动器号和路径。
       %~ftza1         - 将 %1 扩展到类似 DIR 的输出行。
可以参照 call/? 或 for/? 看出每个参数的含意
echo load "%%1" "%%2">c:test.txt
生成的文件内容为 load "%1" "%2"
批处理文件里,用这个格式把命令行参数输出到文件

29 if
判断命令
if "%1"=="/a" echo 第一个参数是/a
if /i "%1" equ "/a" echo 第一个参数是/a
/i 表示不区分大小写,equ 和 == 是一样的,其它运算符参见:
    EQU - 等于
    NEQ - 不等于
    LSS - 小于
    LEQ - 小于或等于
    GTR - 大于
    GEQ - 大于或等于
if exist c:test.bat echo 存在c:test.bat文件
if not exist c:windows (
        echo 不存在c:windows文件夹
        )
if exist c:test.bat (
        echo 存在c:test.bat
        ) else (
        echo 不存在c:test.bat
        )

30 setlocal 和 endlocal
设置”命令扩展名”和”延缓环境变量扩充”
SETLOCAL ENABLEEXTENSIONS                #启用"命令扩展名"
SETLOCAL DISABLEEXTENSIONS               #停用"命令扩展名"
SETLOCAL ENABLEDELAYEDEXPANSION          #启用"延缓环境变量扩充"
SETLOCAL DISABLEDELAYEDEXPANSION         #停用"延缓环境变量扩充"
ENDLOCAL                                 #恢复到使用SETLOCAL语句以前的状态
“命令扩展名”默认为启用
“延缓环境变量扩充”默认为停用
批处理结束系统会自动恢复默认值
可以修改注册表以禁用"命令扩展名",详见 cmd /? 。所以用到"命令扩展名"的程
序,建议在开头和结尾加上 SETLOCAL ENABLEEXTENSIONS 和 ENDLOCAL 语句,以确
保程序能在其它系统上正确运行
"延缓环境变量扩充"主要用于 if 和 for 的符合语句,在 set 的说明里有其实用例程

31 set
设置变量
引用变量可在变量名前后加 % ,即 %变量名%
set                        #显示目前所有可用的变量,包括系统变量和自定义的变量
echo %SystemDrive%         #显示系统盘盘符。系统变量可以直接引用
set p                      #显示所有以p开头的变量,要是一个也没有就设errorlevel=1
set p=aa1bb1aa2bb2         #设置变量p,并赋值为 = 后面的字符串,即aa1bb1aa2bb2
echo %p%                   #显示变量p代表的字符串,即aa1bb1aa2bb2
echo %p:~6%                #显示变量p中第6个字符以后的所有字符,即aa2bb2
echo %p:~6,3%              #显示第6个字符以后的3个字符,即aa2
echo %p:~0,3%              #显示前3个字符,即aa1
echo %p:~-2%               #显示最后面的2个字符,即b2
echo %p:~0,-2%             #显示除了最后2个字符以外的其它字符,即aa1bb1aa2b
echo %p:aa=c%              #用c替换变量p中所有的aa,即显示c1bb1c2bb2
echo %p:aa=%               #将变量p中的所有aa字符串置换为空,即显示1bb12bb2
echo %p:*bb=c%             #第一个bb及其之前的所有字符被替换为c,即显示c1aa2bb2
set p=%p:*bb=c%            #设置变量p,赋值为 %p:*bb=c% ,即c1aa2bb2
set /a p=39                #设置p为数值型变量,值为39
set /a p=39/10             #支持运算符,有小数时用去尾法,39/10=3.9,去尾得3,p=3
set /a p=p/10              #用 /a 参数时,在 = 后面的变量可以不加%直接引用
set /a p=”1&0″             #”与”运算,要加引号。其它支持的运算符参见set/?
set p=                     #取消p变量
set /p p=请输入
屏幕上显示”请输入”,并会将输入的字符串赋值给变量p
注意这条可以用来取代 choice 命令
注意变量在 if 和 for 的复合语句里是一次性全部替换的,如
@echo off
set p=aaa
if %p%==aaa (
        echo %p%
        set p=bbb
        echo %p%
        )
结果将显示
aaa
aaa
因为在读取 if 语句时已经将所有 %p% 替换为aaa
这里的"替换",在 /? 帮助里就是指"扩充"、"环境变量扩充"
可以启用”延缓环境变量扩充”,用 ! 来引用变量,即 !变量名!
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
set p=aaa
if %p%==aaa (
        echo %p%
        set p=bbb
        echo !p!
        )
ENDLOCAL
结果将显示
aaa
bbb
还有几个动态变量,运行 set 看不到
%CD%                      #代表当前目录的字符串
%DATE%                    #当前日期
%TIME%                    #当前时间
%RANDOM%                  #随机整数,介于0~32767
%ERRORLEVEL%              #当前 ERRORLEVEL 值
%CMDEXTVERSION%           #当前命令处理器扩展名版本号
%CMDCMDLINE%              #调用命令处理器的原始命令行
可以用echo命令查看每个变量值,如 echo %time%
注意 %time% 精确到毫秒,在批处理需要延时处理时可以用到

32 start
批处理中调用外部程序的命令,否则等外部程序完成后才继续执行剩下的指令

33 call
批处理中调用另外一个批处理的命令,否则剩下的批处理指令将不会被执行
有时有的应用程序用start调用出错的,也可以call调用

34 choice (外部命令)
选择命令
让用户输入一个字符,从而选择运行不同的命令,返回码errorlevel为1234……
win98里是choice.com
win2000pro里没有,可以从win98里拷过来
win2003里是choice.exe
choice /N /C y /T 5 /D y>nul
延时5秒


35 assoc 和 ftype
文件关联
assoc 设置'文件扩展名'关联,关联到'文件类型'
ftype 设置'文件类型'关联,关联到'执行程序和参数'
当你双击一个.txt文件时,windows并不是根据.txt直接判断用 notepad.exe 打开
而是先判断.txt属于 txtfile '文件类型'
再调用 txtfile 关联的命令行 txtfile=%SystemRoot%system32NOTEPAD.EXE %1
可以在"文件夹选项"→"文件类型"里修改这2种关联
assoc               #显示所有'文件扩展名'关联
assoc .txt          #显示.txt代表的'文件类型',结果显示 .txt=txtfile
assoc .doc          #显示.doc代表的'文件类型',结果显示 .doc=Word.Document.8
assoc .exe          #显示.exe代表的'文件类型',结果显示 .exe=exefile
ftype               #显示所有'文件类型'关联
ftype exefile       #显示exefile类型关联的命令行,结果显示 exefile="%1" %*
assoc .txt=Word.Document.8
设置.txt为word类型的文档,可以看到.txt文件的图标都变了
assoc .txt=txtfile
恢复.txt的正确关联
ftype exefile="%1" %*
恢复 exefile 的正确关联
如果该关联已经被破坏,可以运行 command.com ,再输入这条命令

36 pushd 和 popd
切换当前目录
@echo off
c: & cd & md mp3           #在 C: 建立 mp3 文件夹
md d:mp4                   #在 D: 建立 mp4 文件夹
cd /d d:mp4                #更改当前目录为 d:mp4
pushd c:mp3                #保存当前目录,并切换当前目录为 c:mp3
popd                        #恢复当前目录为刚才保存的 d:mp4

37 for
循环命令
这个比较复杂,请对照 for/? 来看
for %%i in (c: d: e: f:) do echo %%i
依次调用小括号里的每个字符串,执行 do 后面的命令
注意%%i,在批处理中 for 语句调用参数用2个%
默认的字符串分隔符是"空格键","Tab键","回车键"
for %%i in (*.txt) do find "abc" %%i
对当前目录里所有的txt文件执行 find 命令
for /r . %%i in (*.txt) do find "abc" %%i
在当前目录和子目录里所有的.txt文件中搜索包含 abc 字符串的行
for /r . %%i in (.) do echo %%~pni
显示当前目录名和所有子目录名,包括路径,不包括盘符
for /r d:mp3 %%i in (*.mp3) do echo %%i>>d:mp3.txt
把 d:mp3 及其子目录里的mp3文件的文件名都存到 d:mp3.txt 里去
for /l %%i in (2,1,8) do echo %%i
生成2345678的一串数字,2是数字序列的开头,8是结尾,1表示每次加1
for /f %%i in ('set') do echo %%i
对 set 命令的输出结果循环调用,每行一个
for /f "eol=P" %%i in ('set') do echo %%i
取 set 命令的输出结果,忽略以 P 开头的那几行
for /f %%i in (d:mp3.txt) do echo %%i
显示 d:mp3.txt 里的每个文件名,每行一个,不支持带空格的名称
for /f "delims=" %%i in (d:mp3.txt) do echo %%i
显示 d:mp3.txt 里的每个文件名,每行一个,支持带空格的名称
for /f "skip=5 tokens=4" %%a in ('dir') do echo %%a
对 dir 命令的结果,跳过前面5行,余下的每行取第4列
每列之间的分隔符为默认的"空格"
可以注意到 dir 命令输出的前5行是没有文件名的
for /f "tokens=1,2,3 delims=- " %%a in ('date /t') do (
        echo %%a
        echo %%b
        echo %%c
        )
对 date /t 的输出结果,每行取1、2、3列
第一列对应指定的 %%a ,后面的 %%b 和 %%c 是派生出来的,对应其它列
分隔符指定为 - 和"空格",注意 delims=- 后面有个"空格"
其中 tokens=1,2,3 若用 tokens=1-3 替换,效果是一样的
for /f "tokens=2* delims=- " %%a in ('date /t') do echo %%b
取第2列给 %%a ,其后的列都给 %%b


38 subst (外部命令)
映射磁盘。
subst z: serverd         #这样输入z:就可以访问serverd了
subst z: /d                 #取消该映射
subst                       #显示目前所有的映时

39      xcopy (外部命令)
文件拷贝
xcopy d:mp3 e:mp3 /s/e/i/y
复制 d:mp3 文件夹、所有子文件夹和文件到 e: ,覆盖已有文件
加 /i 表示如果 e: 没有 mp3 文件夹就自动新建一个,否则会有询问


转自http://blog.csdn.net/mydriverc/archive/2008/01/16/2047152.aspx

 

posted @ 2009-11-19 09:02 王生生 阅读(386) | 评论 (0)编辑 收藏

人生成功第1课

做一个终生学习的人

离开学校并不意味着学习就结束了。

学习可以成为一种生活方式,帮助你发挥最大的潜能。

我们从未停止学习,总会有新的,有趣的东西等待我们去发现。

学习新的技能可能让人感到有一点恐惧,但每当我们在个人学习上停滞不前时,我们都需要去学习新的东西。

积极地寻求支援和建议,突破停滞期。

参加一些培训,进修,夜校-任何新的兴趣都将会有助于发展你的优势。

多看,多听,让你的头脑保持活跃。活到老,学到老。

人生成功第2课

令自己感到沮丧的秘诀就是用空闲时间去烦恼自己是否快乐。所以不要费事去想它!摩拳擦掌干起来吧。你将热血沸腾,你会头脑清醒。很快,在你身体中的这种高涨的积极人生观将把烦恼从你的头脑中赶出去。

行动起来,忙碌起来。这是世界上最便宜的一种药,也是最好的一种。

人生成功第3课

在困境中寻找成功的希望 

逆境是一所最好的学校。每一次失败,每一次打击,每一次损失,都蕴育着成功的萌芽,都教会我在下一次有更出色的表现。我再也不会逃避现实,也不会拒绝从以往的错误中获取经验,我不再因此而促成自己的失败。因为我知道,宝玉不经磨砺就不能发光,没有,我也不能完善自我。

现在我知道,灵魂倍受煎熬的时刻,也正是生命中最多选择与机会的时刻。任何事情的成败取决于我在寻求帮助时是抬起头还是低下头。无论何时,当我被可怕的 失败击倒,在最初的阵痛过去之后,我都要想方设法将苦难变成好事。伟大的机遇就在这一刻闪现-这苦涩的根必将迎来满园芬芳!

我将一直在困境中寻找成功的希望。 

人生成功第4课

没有人可以使你感到自卑

我选择自我感觉良好,这样我能更加开放地学习。如果人们给我负面的回应或是批评我做的事情,我不会认为他们所说的就表明我是一个“差劲的”人。我坚信自尊由我掌控,这让我毫无戒心地去听取别人的反馈,想看看是否有我可以学习的东西。

我们每天都有两种选择。我们可以感到自己很棒,也可以感到自己很差劲。难道有人会选择后者吗?

人生成功第5课

紧紧抓住梦想

我们每个人都有梦想。我们每个人都希望能发自内心地相信自已有一种特殊的天赋,相信自己能发挥重要的作用,相信自己能以一种特殊的方式感动他人,相信自己能够把世界变得更加美好。

在一生中,我们都曾经对自己渴望并追求的生活品质抱有憧憬。然而,对我们大多数人来说,这些憧憬在日常生活的成规和挫败中已经变得如此渺茫,以到于我们 甚至不再努力去实现它们。对太多人来说,梦想已经远离,随之远离的还有塑造我们命运的意愿。很多人已经推动了坚定的信念,而正是坚定的信念为胜利者创造了 优势。

我们所要做的就是重拴梦想,并实现梦想,让我们每个人都记住,并去运用深藏在自己身上的无限潜能。

人生成功第6课

毅力无法替代

世界上没有任何东西可以替代毅力。才干不可以,无所作为的能人十分普遍;天分不可以,碌碌无为的天才尽人皆知;教育不可以,受过良好教育的没落者更是随处可见。只要有毅力和决心,就是无所不能的。

毅力并不总是意味着永远坚持做同一件事。它意味着无论你做任何事情,你都要立刻全心投入,竭尽全力;它意味着先做艰苦的工作,再去期待随之而来的满足和 回报。它意味着开心地工作,渴望更多的知识和进步。它意味着多打几个电话,多夏装几里路,多除草,早起床,意味着总是寻求更好的方式去做你在做的事情。毅 力就是经历考验和过失的成功。

人生成功第7课

驻足片刻闻花香

在现代生活的忙忙碌碌中,人们很少会停下来欣赏自然的美。

问问自己,你有多少次倾听过鸟儿的歌唱。你最近一次抬头仰望闪耀的星空又是在什么时候?

时光飞逝,人生苦短。不要忘记驻足闻闻花香。我们在急于谋生的过程中,往往忽视了我们生活的品质。多少次,你听见人们为这为那说“我忙死了。”多可惜啊!有一天,当他们真的找到时间能够驻足片刻闻花香时,可能已经太迟了。

人生成功第8课

加入到微笑者和赞美者的行列来

当你对别人,别人也会对你报以,你自然会感觉很棒。即使他有对你报以,你也会感觉很棒,因为你认识到世界上最贫穷的人就是从不微笑的人,当你对那个人微笑,你立刻变得更加富有。

赞美也是这个道理。当你真诚地毛病抑或恭维一个人时,他将立刻受益,更喜欢自己。当你让别人感觉更好时,你自己也会感觉更好。

人生成功第9课

让自己快乐

调查表明,我们当中70%的人在生活中时间有临床性的抑郁现象。

如今我们有这么多的机遇,为什么我们还这么不快乐呢?

人们尝试各种东西:金钱,**,事业,婚姻,离婚,酒精,摇滚甚至毒品,但我们大多数人只是想要得到一样东西-快乐。

快乐是人的一种自然的身心状态;我们只要去相信快乐,让自己感受快乐。

要宣称:我应当得到快乐。说出来,唱出来,喊出来。

优先考虑快乐,让快乐成为你最重要的事情。

对你所拥有的一切抱以感激之情吧。

人生成功第10课

我拥有无与伦比的想象力   

现在我将通过这种神奇的力量得到我想要的。如果我害怕发表演讲,我就想象自己在公众场合无所畏惧,充满信心;如果我在病魔的煎熬,我就想象我以前健康的样子;如果我感到贫穷,我就想象我将要富有。

现在我明白了:人类惟一的限制就是想象力。我之所以没有成功,原因就在于我不知道如何使用我的想象力。现在,我精通这个技巧,我将从中受益。最大的回报将是成功和愈加快乐。(摘自网络)
posted @ 2009-11-06 13:46 王生生 阅读(186) | 评论 (0)编辑 收藏

    命令行下具体用法如下:  mysqldump -u用戶名 -p密码 -d 數據库名 表名 脚本名;

    1、导出數據库為dbname的表结构(其中用戶名為root,密码為dbpasswd,生成的脚本名為db.sql)
    mysqldump -uroot -pdbpasswd -d dbname >db.sql;

    2、导出數據库為dbname某张表(test)结构
    mysqldump -uroot -pdbpasswd -d dbname test>db.sql;

    3、导出數據库為dbname所有表结构及表數據(不加-d)
    mysqldump -uroot -pdbpasswd  dbname >db.sql;

    4、导出數據库為dbname某张表(test)结构及表數據(不加-d)
    mysqldump -uroot -pdbpasswd dbname test>db.sql;

   

posted @ 2009-11-06 10:14 王生生 阅读(2885) | 评论 (0)编辑 收藏

1.$_SERVER['HTTP_ACCEPT_LANGUAGE']//浏览器语言

显示:zh-cn

2.$_SERVER['REMOTE_ADDR'] //当前用户 IP 。

显示:127.0.0.1

3.$_SERVER['REMOTE_HOST'] //当前用户主机名

显示:

4.$_SERVER['REQUEST_URI'] //URL

显示:/test.php

5.$_SERVER['REMOTE_PORT'] //端口。

显示:3864

6.$_SERVER['SERVER_NAME'] //服务器主机的名称。

显示:127.0.0.1

7.$_SERVER['PHP_SELF']//正在执行脚本的文件名

显示:/test.php

8.$_SERVER['argv'] //传递给该脚本的参数。

显示:ARRAY

9.$_SERVER['argc'] //传递给程序的命令行参数的个数。

显示:0

10.$_SERVER['GATEWAY_INTERFACE']//CGI 规范的版本。

显示: CGI/1.1

11.$_SERVER['SERVER_SOFTWARE'] //服务器标识的字串

显示:Apache/2.0.52 (Win32) PHP/5.2.1

12.$_SERVER['SERVER_PROTOCOL'] //请求页面时通信协议的名称和版本

显示:HTTP/1.1

13.$_SERVER['REQUEST_METHOD']//访问页面时的请求方法

显示:GET

14.$_SERVER['QUERY_STRING'] //查询(query)的字符串。

显示:

15.$_SERVER['DOCUMENT_ROOT'] //当前运行脚本所在的文档根目录

显示:D:/Program Files/Apache/www

16.$_SERVER['HTTP_ACCEPT'] //当前请求的 Accept: 头部的内容。

显示:*/*

17.$_SERVER['HTTP_ACCEPT_CHARSET'] //当前请求的 Accept-Charset: 头部的内容。

显示:

18.$_SERVER['HTTP_ACCEPT_ENCODING'] //当前请求的 Accept-Encoding: 头部的内容

显示:gzip,deflate

19.$_SERVER['HTTP_CONNECTION'] //当前请求的 Connection: 头部的内容。例如:“Keep-Alive”。

显示:Keep-Alive

20.$_SERVER['HTTP_HOST'] //当前请求的 Host: 头部的内容。

显示:127.0.0.1:8080

21.$_SERVER['HTTP_REFERER'] //链接到当前页面的前一页面的 URL 地址。

显示:http://127.0.0.1:8080/

22.$_SERVER['HTTP_USER_AGENT'] //当前请求的 User_Agent: 头部的内容。

显示:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; .NET CLR 2.0.50727)

23.$_SERVER['HTTPS']//如果通过https访问,则被设为一个非空的值(on),否则返回off

显示:

24.$_SERVER['SCRIPT_FILENAME'] #当前执行脚本的绝对路径名。

显示:D:/Program Files/Apache/www/test.php

25.$_SERVER['SERVER_ADMIN'] #管理员信息

显示:w@w.com

26.$_SERVER['SERVER_PORT'] #服务器所使用的端口

显示:8080

27.$_SERVER['SERVER_SIGNATURE'] #包含服务器版本和虚拟主机名的字符串。

显示:Apache/2.0.52 (Win32) PHP/5.2.1 Server at 10.145.40.150 Port 8080

28.$_SERVER['PATH_TRANSLATED'] #当前脚本所在文件系统(不是文档根目录)的基本路径。

显示:

29.$_SERVER['SCRIPT_NAME'] #包含当前脚本的路径。这在页面需要指向自己时非常有用。

显示 :/test.php

30.$_SERVER['PHP_AUTH_USER'] #当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的用户名。

显示:

31.$_SERVER['PHP_AUTH_PW'] #当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的密码。

显示:

32.$_SERVER['AUTH_TYPE'] #当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是认证的类型

posted @ 2009-11-05 09:31 王生生 阅读(186) | 评论 (0)编辑 收藏

将A用户下所有的表授权给B用户;
sqlplus A/A
select 'grant select,insert,update,delete on A.' || table_name || ' to B;' from user_tables;
然后选择上面出现的所有的语句,进入sysdba权限进行操作:
sqlplus "/as sysdba"             
然后执行上面的所有的语句就可以了;                 

posted @ 2009-10-22 17:05 王生生 阅读(1013) | 评论 (0)编辑 收藏

page- break-before和page-break-after CSS属性并不会修改网页在屏幕上的显示,这两个属性是用来控制文件的打印方式。每个打印属性都可以设定4种设定值:auto、always、left和 right。其中Auto是默认值,只有在有需要时,才需设定分页符号 (Page breaks)。page-break-before若设定成always,则是在遇到特定的组件时,打印机会重新开始一个新的打印页。page- break-before若设定成left,则会插入分页符号,直到指定的组件出现在一个左边的空白页上。page-break-before若设定成 right,则会插入分页符号,直到指定的组件出现在一个右边的空白页上。page-break-after属性会将分页符号加在指定组件后,而非之前。 在下列程序中您将可以看到这些属性的设定。

<HTML>

<HEAD>

<TITLE>Listing 14-4</TITLE>

</HEAD>

<BODY>

<DIV>This is the first DIV.</DIV>

<DIV STYLE="page-break-before:always">This is the second DIV.</DIV>

<DIV STYLE="page-break-after:always">This is the third DIV.</DIV>

<DIV>This is the fourth DIV.</DIV>

<DIV STYLE="page-break-before:right">This is the fifth DIV.</DIV>

<DIV STYLE="page-break-after:right">This is the sixth DIV.</DIV>

<DIV>This is the last DIV.</DIV>

</BODY>

</HTML>


转自 http://www.cnblogs.com/JustinYoung/articles/710734.html
posted @ 2009-10-22 14:00 王生生 阅读(349) | 评论 (0)编辑 收藏

    在开發中,經常遇到需要用去解析各类非结构化文本,像doc,xls,pdf,ppt,xml,html.
    本人在开發站内搜索时,需要加入对各类文件类型的支持,以方便建立索引。解析各类文档调用了几個开源的包。像dom4j-1.6.1.jar,FontBox-0.1.0-dev.jar,htmllexer.jar,htmlparser.jar,PDFBox-0.7.3.jar,poi-3.5-FINAL-20090928.jar,poi-scratchpad-3.5-FINAL-20090928.jar。这些开源的包可以讓我們很方便去解析各类非结构化文本。

jar包的下载地址: http://www.ziddu.com/download/7017588/devlib.rar.html

代码如下:
package com.ducklyl;

import java.io.File;
import java.io.FileInputStream;
import java.util.Iterator;
import org.apache.poi.hslf.model.Slide;
import org.apache.poi.hslf.model.TextRun;
import org.apache.poi.hslf.usermodel.SlideShow;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.usermodel.Paragraph;
import org.apache.poi.hwpf.usermodel.Range;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.htmlparser.Parser;
import org.htmlparser.filters.*;

import org.htmlparser.*;
import org.htmlparser.nodes.TextNode;
import org.htmlparser.util.*;

import org.pdfbox.pdfparser.PDFParser;
import org.pdfbox.pdmodel.PDDocument;
import org.pdfbox.util.PDFTextStripper;



public class HandleFile {
    
public static void main(String args[]){
        String str
="e:\\test.HTML";
        System.out.println(handleFile(str));
    }

    
public static String handleFile(String filename){
        String result
="";
        String fileType
=filename.substring(filename.lastIndexOf(".")+1, filename.length());
        
if(fileType.equalsIgnoreCase("pdf"))
            result
=handlePdf(filename);
        
else if(fileType.equalsIgnoreCase("xls"))
            result
=handleExcel(filename);
        
else if(fileType.equalsIgnoreCase("doc"))
            result
=handleDoc(filename);
        
else if(fileType.equalsIgnoreCase("xml"))
            result
=handleXml(filename);
        
else if(fileType.equalsIgnoreCase("ppt"))
            result
=handlePPT(filename);
        
else if(fileType.equalsIgnoreCase("htm")||fileType.equalsIgnoreCase("html"))
            result
=handleHtml(filename);
        
return result;
    }
/**
 * 解析HTML
 * 
@param filename
 * 
@return
 
*/
    
public static String handleHtml(String filename){
        String content
="";
        
try{
            File file
=new File(filename);
            
if(!file.exists()) return content;
            
            Parser parser
=new Parser(filename);
            parser.setEncoding(
"UTF-8");
            NodeFilter textFilter
=new NodeClassFilter(TextNode.class);
            NodeList nodes
=parser.extractAllNodesThatMatch(textFilter);
            
for(int i=0;i<nodes.size();i++){
                TextNode textnode
=(TextNode)nodes.elementAt(i);
                String line
=textnode.toPlainTextString().trim();
                
if(line.equals("")) continue;
                content
=content+line;
            }
        }
catch(Exception e){
            e.printStackTrace();
        }
        
return content;
    }
    
/**
     * 解析PPT
     * 
@param filename
     * 
@return
     
*/
    
public static String handlePPT(String filename){
        StringBuffer content 
= new StringBuffer("");
        
try{
            File file
=new File(filename);
            
if(!file.exists()) {
                
return content.toString();
            }
            FileInputStream instream
=new FileInputStream(file);
            SlideShow ppt 
= new SlideShow(instream);
            Slide[] slides 
= ppt.getSlides();
            
for(int i=0;i<slides.length;i++){
                TextRun[] t 
= slides[i].getTextRuns();//为了取得幻灯片的文字内容,建立TextRun
                for(int j=0;j<t.length;j++){
                    content.append(t[j].getText());
//这里会将文字内容加到content中去
                }
                content.append(slides[i].getTitle());
            }
        }
catch(Exception e){
            e.printStackTrace();
        }
        
return content.toString();
    }
    
/**
     * 解析XML
     * 
@param filename
     * 
@return
     
*/
    
public static String handleXml(String filename){
        String content
="",value="",text="";
        
try{
            File file
=new File(filename);
            
if(!file.exists()) {
                
return content;
            }
              SAXReader saxReader 
= new SAXReader();
              Document document 
= saxReader.read(file);
              Element root 
= document.getRootElement() ;
              
              Iterator iter
=root.elementIterator() ;
               
while(iter.hasNext()){
                  Element element
=(Element)iter.next();
                  value
=element.getStringValue();
                  
if(!value.trim().equals(""))    content=content+value;
               }
        }
catch(Exception e){
                e.printStackTrace();
        }
        
return content;
    }
    
/**
     * 解析DOC
     * 
@param filename
     * 
@return
     
*/
    
public static String handleDoc(String filename){
        String content
="";
        
try{
            File file
=new File(filename);
            
if(!file.exists()) {
                
return content;
            }
            FileInputStream instream
=new FileInputStream(file);
            HWPFDocument doc
=new HWPFDocument(instream);
            Range range
=doc.getRange();
            String text
=range.text();
            
for(int i=0;i<range.numParagraphs();i++){
                Paragraph p
=range.getParagraph(i);
                content
=content+p.text().trim()+"\n";
            }
        }
catch(Exception e){
            e.printStackTrace();
        }
        
return content;
    }
    
/**
     * 解析PDF
     * 
@param filename
     * 
@return
     
*/
    
public static String handlePdf(String filename){
        String contenttxt
="";
        
try{
            File file
=new File(filename);
            
if(!file.exists()){
                
return contenttxt;
            }
            FileInputStream instream
=new FileInputStream(file);
            PDFParser parser
=new PDFParser(instream);
            parser.parse();
            PDDocument pdfdocument
=parser.getPDDocument();
            PDFTextStripper pdfstripper
=new PDFTextStripper();
            contenttxt
=pdfstripper.getText(pdfdocument);
        }
catch(Exception e){
            e.printStackTrace();
        }
        
return contenttxt;
    }
    
/**
     * 解析EXCEL
     * 
@param filename
     * 
@return
     
*/
    
public static String handleExcel(String filename){
        String content
="";
        
try{
            File file
=new File(filename);
            
if(!file.exists()) {
                
return content;
            }
            HSSFWorkbook workbook
=new HSSFWorkbook(new FileInputStream(file));
            HSSFSheet sheet
=workbook.getSheetAt(0);
            
            
for(int i=0;i<workbook.getNumberOfSheets();i++){
                sheet
=workbook.getSheetAt(i);
                
if(sheet!=null){
                    
for(int m=0;m<sheet.getLastRowNum();m++){
                        HSSFRow row
=sheet.getRow(m);
                        
if(row==nullbreak;
                        
                        
for(int n=0;n<row.getLastCellNum();n++){
                            HSSFCell cell
=row.getCell(n);
                            
if(cell==nullbreak;
                            
int type=cell.getCellType();
                            
switch(type){
                                
case 0:
                                    content
=content+cell.getNumericCellValue();
                                    
break;
                                
case 1:
                                    content
=content+cell.getStringCellValue();
                                    
break;
                                
case 3:
                                    
break;
                                
default:
                                    ;
                            }
                        }
                        content
=content+"\n";
                    }
                }
                content
=content+"\n";
            }

        }
catch(Exception e){    
            e.printStackTrace();
        }
        
return content;
    }
}
不想拷贝的朋友可以直接下载源代码:http://www.ziddu.com/download/7017614/src.txt.html

以上代码比较简单,就不作说明,希望能幫到需要用的朋友。当然上面只是一個简单的例子,如果要具体应用,大家可以自己再改写。如果你有其它的想法,欢迎分享你的精彩想法。


转载请注明出处

posted @ 2009-10-22 10:55 王生生 阅读(1620) | 评论 (0)编辑 收藏

在看本文之前,请确保你已掌握了PHP的一些知识以及MYSQL的查询操作基础哦。

作为一个Web程序,经常要和不计其数的数据打交道,比如会员的数据,文章数据,假如只有几十个会员那很好办,在一页显示就可以了,可是假如你的网站是几千甚至几十万会员的话,如果都在一页打开的话无论对浏览器还是观看者都是一种折磨。

相信每个学习PHP的新手都会对分页这个东西感觉很头疼,不过有了默默的这一水帖,你肯定会拍拍脑袋说,嘿,原来分页竟然如此简单?的确,现在请深呼吸一口新鲜的空气,仔细的听默默给你一点一点的分解。

假设我们要处理1000条数据,要在每页中显示10条,这样的话就会分100页来显示,咱们先看一看在mysql里提取10条信息是如何操作的。

Select * from table limit 0,10

上面是一句很简单的mysql查询语句,它的作用是从一个名叫table的表里提取10条数据,并且把所有字段的值都获得。

关键的地方就在这段“limit 0,10”,它其中的0是以0为起始点,后面的10则是显示10条数据,那么我们要以10为起始点,显示到第20条数据该怎么写呢?

可能很多大大会心直口快的说“limit 10,20”嘛!啊哦,这样可就错误了哦,正确的写法是“limit 10,10”它后面的参数并非是结束点而是要提取的数目,记住哦。

懂得了如何提取10条数据,那么提取1000条也就是做100次这种查询呀,就是说要做如下的查询:

Limit 0,10                 //第一页
Limit 10,10                 //第二页
Limit 20,10                 //第三页
Limit 30,10                 //第四页
……
看出有什么规律了吗?没错,第一个参数每翻一页就增加10,可是第二个参数是不变的。
也就是说咱们设法根据页数来改变第一个参数的值,就可以进行分页显示数据了,怎么样,原理是不是很简单?

可是要怎么设法根据页数来改变第一个参数的值呢?首先,咱们要有一个页数的值,用url的GET方式获取。
比如index.php?page=18
相信大部分的大大对这个东西不陌生吧,这种url地址可是随处可见,其中的page参数的作用就是传入要显示的页数。

咱们通过一段代码来看一看究竟是如何实现的吧:

<?php

/*

Author:默默
Date   :2006-12-03

*/

$page=isset($_GET['page'])?intval($_GET['page']):1;        //这句就是获取page=18中的page的值,假如不存在page,那么页数就是1。
$num=10;                                      //每页显示10条数据

$db=mysql_connect("host","name","pass");           //创建数据库连接
$select=mysql_select_db("db",$db);                 //选择要操作的数据库

/*
首先咱们要获取数据库中到底有多少数据,才能判断具体要分多少页,具体的公式就是
总数据数除以每页显示的条数,有余进一。
也就是说10/3=3.3333=4 有余数就要进一。
*/

$total=mysql_num_rows(mysql_query("select id from table")); //查询数据的总数,id是数据库中的一个自动赋值的字段
$pagenum=ceil($total/$num);                                    //获得总页数

//假如传入的页数参数大于总页数,则显示错误信息
If($page>$pagenum || $page == 0){
        Echo
"Error : Can Not Found The page .";
        Exit;
}

$offset=($page-1)*$num;                                        //获取limit的第一个参数的值,假如第一页则为(1-1)*10=0,第二页为(2-1)*10=10。

$info=mysql_query("select name from table limit $offset,$num");   //获取相应页数所需要显示的数据,name是数据里的一个字段
While($it=mysql_fetch_array($info)){
        Echo
$it['name']."<br />";
}                                                              
//显示数据
   
For($i=1;$i<=$pagenum;$i++){
       
       
$show=($i!=$page)?"<a href='index.php?page=".$i."'>$i</a>":"<b>$i</b>";
        Echo
$show." ";
}

/*显示分页信息,假如是当页则显示粗体的数字,其余的页数则为超连接,假如当前为第三页则显示如下
1 2 3 4 5 6
*/
?>

假如你仔细的读过上面的代码,把数据库连接和查询的表替换成你的,那么就能看见它的执行效果哦。

是不是很简单,只要动动脑筋,可以让它显示的更为个性化哦,给大家出一个小题,如何实现“首页 上一页 下一页 尾页”这种格式的分页呢?

OK,水帖灌完,收工。^_^
辉老大『阿辉』:
好帖子啊,我来顶默默的提问,代码,如下:

<?php
/*
Author:默默
Date   :2006-12-03
*/

$page=isset($_GET['page'])?intval($_GET['page']):1;        //这句就是获取page=18中的page的值,假如不存在page,那么页数就是1。
$num=10;                                      //每页显示10条数据

$db=mysql_connect("localhost","root","7529639");           //创建数据库连接
mysql_select_db("cr_download");                 //选择要操作的数据库

/*
首先咱们要获取数据库中到底有多少数据,才能判断具体要分多少页,具体的公式就是
总数据库除以每页显示的条数,有余进一。
也就是说10/3=3.3333=4 有余数就要进一。
*/

$result=mysql_query("select * from cr_userinfo");
$total=mysql_num_rows($result); //查询所有的数据

$url='test.php';//获取本页URL

//页码计算
$pagenum=ceil($total/$num);                                    //获得总页数,也是最后一页
$page=min($pagenum,$page);//获得首页
$prepg=$page-1;//上一页
$nextpg=($page==$pagenum ? 0 : $page+1);//下一页
$offset=($page-1)*$num;                                        //获取limit的第一个参数的值,假如第一页则为(1-1)*10=0,第二页为(2-1)*10=10。

//开始分页导航条代码:
$pagenav="显示第 <B>".($total?($offset+1):0)."</B>-<B>".min($offset+10,$total)."</B> 条记录,共 $total 条记录 ";


//如果只有一页则跳出函数:
if($pagenum<=1) return false;

$pagenav.=" <a href='$url?page=1'>首页</a> ";
if(
$prepg) $pagenav.=" <a href='$url?page=$prepg'>前页</a> "; else $pagenav.=" 前页 ";
if(
$nextpg) $pagenav.=" <a href='$url?page=$nextpg'>后页</a> "; else $pagenav.=" 后页 ";
$pagenav.=" <a href='$url?page=$pagenum'>尾页</a> ";

//下拉跳转列表,循环列出所有页码:
$pagenav.=" 到第 <select name='topage' size='1' onchange='window.location=""$url?page=""+this.value'>"n";
for(
$i=1;$i<=$pagenum;$i++){
if(
$i==$page) $pagenav.="<option value='$i' selected>$i</option>"n";
else
$pagenav.="<option value='$i'>$i</option>"n";
}
$pagenav.="</select> 页,共 $pagenum 页";

//假如传入的页数参数大于总页数,则显示错误信息
If($page>$pagenum){
        Echo
"Error : Can Not Found The page ".$page;
        Exit;
}

$info=mysql_query("select * from cr_userinfo limit $offset,$num");   //获取相应页数所需要显示的数据
While($it=mysql_fetch_array($info)){
        Echo
$it['username'];
        echo
"<br>";
}                                                              
//显示数据
  
echo"<br>";
   echo
$pagenav;//输出分页导航
?>


转自 http://www.cnblogs.com/justforfun/archive/2009/04/27/1444358.html
posted @ 2009-10-21 10:08 王生生 阅读(190) | 评论 (0)编辑 收藏

仅列出标题
共7页: 上一页 1 2 3 4 5 6 7 下一页 
森露2013新款豹纹打底衫 高领 女 长袖 修身长袖t恤女 加绒加厚冬 2013春秋新款女装 潮修身大码长袖小西装外套女 韩版中长款小西装 忧忧鱼2013秋冬新款直筒裤女显瘦长裤加绒黑色休闲裤修身西裤女裤