本地下载文件文件在电脑里闪烁一下就怎么不见了用搜索也搜不到_百度知道
本地下载文件文件在电脑里闪烁一下就怎么不见了用搜索也搜不到
文件闪烁一下就不见了,用搜索也找不到,请教高手我把迅雷删掉以后用本地下载文件
提问者采纳
LocalFilePath& int TotalByteRead = 0;**/!&);& /param&/!& & while (true) { bytesRead = Rparam&//); & } } catch (Exception ep) { ErrorMsg =/**/!IsValidPathChars(LocalPath)) { throw new Exception(&LocalPath&远程文件名<.ToString();// MemoryStream mem = new MemoryStream(1024 * 500).GetResponseStream(); 从FTP服务器下载文件, RemoteFileName); } } catch (Exception ep) { ErrorMsg = ep, WebRequestM& } if ( return true, LocalFileName).Length).ToString();summary&LocalFileName&非法文件名或目录名!&RemoteFileName& } } / } if (;/ & public bool DownloadFile(string RemoteFileN保存本地的文件名<.Close();保存文件的本地路径, LocalPLocalPath&/ 从FTP服务器下载文件.U**/summary& if (F if (bt .Read(param name=&/,/,后面带有"!IsValidFileChars(LocalFileName) || ;/!IsValidFileChars(RemoteFileName) || ;非法文件名或目录名.ToArray();/ public byte[] DownloadFile(string RemoteFileName) { try { if (;/>!= null) { FileStream stream = new FileStream(LocalFullPath!Dparam& / 从FTP服务器下载文件;RemoteFileName", string LocalPath) { return DownloadFile(RemoteFileN////param& <.Exists(LocalFullPath)) { throw new Exception(", string LocalFileName) { byte[] bt = /param&本地路径&/!IsValidFileChars(RemoteFileName)) { throw new Exception(& } string LocalFullPath = Path,指定本地路径和本地文件名 / ///summary¶m name=& &RemoteFileName&/ & try { if (; /.Length);本地路径& 0) {/.Write(/ //, bytesRead); } //.DownloadFile);/ /.Flush();param name=".Length >,使用与远程文件同名的文件名来保存文件 /param&/ } Response = Open(new Uri(summary&当前路径下已经存在同名文件; & } else { } bt = DownloadFile(RemoteFileName);/, 0;/&//// /summary>,返回文件二进制数据 /.Create);/.Write(buffer, 0;param name=¶m name="!", FileM/ byte[] buffer = new byte[1024];/&远程文件名& &&////.ToString() + RemoteFileName);>, string LocalP/.F / } else { return false,\¶m name=& if (bytesRead == 0)
public bool DownloadFile(string RemoteFileN/); / int bytesRead = 0; & & TotalByteRead += bytesR &summary& & Stream Reader = R本地文件路径不存在;param name=&); &远程文件名&¶m>#region 下载文件 /, 0;//.Combine(LocalPath.Exists(LocalPath)) { throw new Exception(&/
其他类似问题
为您推荐:
本地下载的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁&转&常用文件操作方法,_小组_ThinkSAAS
&转&常用文件操作方法,
&转&常用文件操作方法,
本文汇集包括文件的建立/检查与删除,目录的建立/检查与删除,取出目录中文件,文件属性的取得,逐行读取数据等等。
http://ustp.3322.org/Article/Html/48_P2.html
文件的建立/检查与删除
&%@ page contentType="text/charset=gb2312"%&
&%@ page import="java.io.*"%&
&title&文件的建立、检查与删除&/title&
String path=request.getRealPath("");
//out.println(path);
File f=new File(path,"File.txt");
//out.println(f);
//out.println(f.exists());
if(f.exists()){//检查File.txt是否存在
f.delete();//删除File.txt文件
out.println(path +"\File.txt 存在,已删除。");
f.createNewFile();//在当前目录下建立一个名为File.txt的文件
out.println(path +"\File.txt 不存在,已建立。");//输出目前所在的目录路径
目录的建立/检查与删除
&%@ page contentType="text/charset=gb2312"%&
&%@ page import="java.io.*"%&
&title&目录的建立/检查与删除&/title&
String path=request.getRealPath("");
path=path +"\Sub";//将要建立的目录路径
File d=new File(path);//建立代表Sub目录的File对象,并得到它的一个引用
if(d.exists()){//检查Sub目录是否存在
d.delete();
out.println("Sub目录存在,已删除");
d.mkdir();//建立Sub目录
out.println("Sub目录不存在,已建立");
如何在JSP中处理虚拟目录
&%@ page contentType="text/charset=gb2312"%&
&%@ page import="java.io.*"%&
&title&JSP中如何处理虚拟目录&/title&
取得虚拟目录对应的磁盘路径&br&
Web站点主目录的位置为&font color=#ff0000&&%=request.getRealPath("/")%&&/font&&br&
JSP网页所在的目录位置&font color=#ff0000&&%=request.getRealPath("./")%&&/font&&br&
JSP网页所在目录上一层目录的位置&font color=#ff0000&&%=request.getRealPath("../")%&&/font&&br&
文件属性的取得
&%@ page contentType="text/charset=gb2312"%&
&%@ page import="java.util.Date,java.io.*"%&
&title&文件属性的取得&/title&
String path=request.getRealPath("/");
File f=new File(path,"ReadData.txt");
if(f.exists()){
&%=f.getName()%&的属性如下:&br&&br&
文件长度为:&%=f.length()%&
&%=f.isFile()?"是文件":"不是文件"%&&br&
&%=f.isDirectory()?"是目录":"不是目录"%&&br&
&%=f.canRead()?"可读取":"不可读取"%&&br&
&%=f.canWrite()?"可写入":"不可写入"%&&br&
&%=f.isHidden()?"是隐藏文件":"不是隐藏文件"%&&br&
文件的最后修改日期为:&%=new Date(f.lastModified())%&&br&
f.createNewFile();//在当前目录下建立一个名为ReaData.txt的文件
&%=f.getName()%&的属性如下:&br&&br&
文件长度为:&%=f.length()%&
&%=f.isFile()?"是文件":"不是文件"%&&br&
&%=f.isDirectory()?"是目录":"不是目录"%&&br&
&%=f.canRead()?"可读取":"不可读取"%&&br&
&%=f.canWrite()?"可写入":"不可写入"%&&br&
&%=f.isHidden()?"是隐藏文件":"不是隐藏文件"%&&br&
文件的最后修改日期为:&%=new Date(f.lastModified())%&&br&
取出目录中文件的方法
&%@ page contentType="text/charset=gb2312"%&
&%@ page import="java.io.*"%&
&title&取出目录中文件的方法--列出目录中的文件&/title&
String path=request.getRealPath("/");
File d=new File(path);//建立当前目录中文件的File对象
File list[]=d.listFiles();//取得代表目录中所有文件的File对象数组
out.println("&font color=#ff0000&"+ path +"目录下的文件:&/font&&br&");
for(int i=0;i&list.i++){
if(list&I&.isFile()){
out.println(list&I&.getName() +"&br&");
out.println("&br&&font color=#ff0000&"+ path +"目录下的目录:&/font&&br&");
for(int i=0;i&list.i++){
if(list&I&.isDirectory()){
out.println(list&I&.getName() +"&br&");
判断是否为空白文件
&%@ page contentType="text/charset=gb2312"%&
&%@ page import="java.io.*"%&
&title&判断是否为空白文件&/title&
String path=request.getRealPath("/");
out.println(path);
FileReader fr=new FileReader(path +"\AtEnd.txt");//建立FileReader对象,并实例化为fr
//对FileReader类生成的对象使用read()方法,可以从字符流中读取下一个字符。
if(fr.read()==-1)//判断是否已读到文件的结尾
out.print("AtEnd.txt文件中没有数据&br&");
out.println("AtEnd.txt文件中有数据");
fr.close();
&B&读取所有的文件数据&/B&
&ccid_nobr&
&table width="400"border="1"cellspacing="0"cellpadding="2"
bordercolorlight ="black"bordercolordark ="#FFFFFF"align="center"&
&td bgcolor="e6e6e6"class="code"style="font-size:9pt"&
&pre&&ccid_code& &%@ page contentType="text/charset=gb2312"%&
&%@ page import="java.io.*,java.lang.*"%&
&title&读取所有的文件数据&/title&
String path=request.getRealPath(".");
FileReader fr=new FileReader(path +"\ReadData.txt");
//关键在于读取过程中,要判断所读取的字符是否已经到了文件的末尾,
并且这个字符是不是文件中的断行符,即判断该字符值是否为13。
int c=fr.read();//从文件中读取一个字符
//判断是否已读到文件结尾
while(c!=-1){
out.print((char)c);//输出读到的数据
c=fr.read();//从文件中继续读取数据
if(c==13){//判断是否为断行字符
out.print("&br&");//输出分行标签
fr.skip(1);//略过一个字符
//c=fr.read();//读取一个字符
fr.close();
一行一行读取数据
&%@ page contentType="text/charset=gb2312"%&
&%@ page import="java.io.*"%&
&title&文件读取&/title&
String path=request.getRealPath("");//取得当前目录的路径
FileReader fr=new FileReader(path +"\file\inc\t.txt");//建立FileReader对象,并实例化为fr
BufferedReader br=new BufferedReader(fr);//建立BufferedReader对象,并实例化为br
String Line=br.readLine();//从文件读取一行字符串
//判断读取到的字符串是否不为空
while(Line!=null){
out.println(Line +"&br&");//输出从文件中读取的数据
Line=br.readLine();//从文件中继续读取一行数据
br.close();//关闭BufferedReader对象
fr.close();//关闭文件
略过文件中的字符不读取
&%@ page contentType="text/charset=gb2312"%&
&%@ page import="java.io.*"%&
&title&略过字节不读取&/title&
String path=request.getRealPath(".");
FileReader fr=new FileReader(path +"\ReadData.txt");
fr.skip(2);//跳过2个字节
int c=fr.read();//读取一个字节
while(c!=-1){
out.print((char)c);
c=fr.read();
fr.close();
将数据写入文件
&%@ page contentType="text/charset=gb2312"%&
&%@ page import="java.io.*"%&
&title&将数据写入文件&/title&
String path=request.getRealPath(".");
FileWriter fw=new FileWriter(path +"\WriteData.txt");//建立FileWriter对象,并实例化fw
//将字符串写入文件
fw.write("大家好!");
fw.write("本书是《JSP编程技巧》");
fw.write("请多多指教!");
fw.write("email:");
fw.close();
FileReader fr=new FileReader(path +"\WriteData.txt");
BufferedReader br=new BufferedReader(fr);//建立BufferedReader对象,并实例化为br
String Line=br.readLine();
//读取一行数据
out.println(Line +"&br&");
br.close();//关闭BufferedReader对象
fr.close();
将写入文件的数据分行
&%@ page contentType="text/charset=gb2312"%&
&%@ page import="java.io.*"%&
&title&将写入文件的数据分行&/title&
String path=request.getRealPath(".");
FileWriter fw=new FileWriter(path +"\WriteData.txt");
BufferedWriter bw=new BufferedWriter(fw);
bw.write("大家好!");
bw.write("本书是《JSP编程技巧》。");
bw.newLine();//断行
bw.write("请多多指教!");
bw.newLine();//断行
bw.write("email: ");
bw.flush();//将数据更新至文件
fw.close();//关闭文件流
out.println("写入文件内容为:&br&");
FileReader fr=new FileReader(path +"\WriteData.txt");
BufferedReader br=new BufferedReader(fr);
String Line=br.readLin
JSP文件操作大全
[ 文章录入:
点击数: &script src="/GetHits.asp?ChannelID=1&InfoID=48"type="text/JavaScript"&&/script&43
更新时间: ]【字体: 】
如何将数据追加写入到文件
&%@ page contentType="text/charset=gb2312"%&
&%@ page import="java.io.*"%&
&title&将写入文件的数据分行&/title&
String path=request.getRealPath(".");
RandomAccessFile rf=new RandomAccessFile(path +"\WriteData.txt","rw");
//定义一个类RandomAccessFile的对象,并实例化
rf.seek(rf.length());//将指针移动到文件末尾
rf.writeBytes("nAppend a line to the file!");
rf.close();//关闭文件流
out.println("写入文件内容为:&br&");
FileReader fr=new FileReader(path +"\WriteData.txt");
BufferedReader br=new BufferedReader(fr);//读取文件的BufferedRead对象
String Line=br.readLine();
while(Line!=null){
out.println(Line +"&br&");
Line=br.readLine();
fr.close();//关闭文件
&/html&&/I&&/I&&/I&&/I&
e();//读取一行数据
while(Line!=null){
out.println(Line +"&br&");
Line=br.readLine();
fr.close();
用户评论(0)
开发技术学习小组列表
PHP开发框架
缓存Memcache
服务器环境
ThinkSAAS商业授权:
ThinkSAAS为用户提供有偿个性定制开发服务
ThinkSAAS将为商业授权用户提供二次开发指导和技术支持
手机客户端
ThinkSAAS接收任何功能的Iphone(IOS)和Android手机的客户端定制开发服务
让ThinkSAAS更好,把建议拿来。欢迎访问阿里西西WEB开发技术网站!
作者:阿里西西&&文章来源:/&&更新时间:
用asp怎样编写文档搜索页面
&p&通过在查询表格中键入单词或短语,然后单击按钮执行查询,就可以在 Web 站点中搜索任意的单词或短语(例如,查询表格示例中的“执行查询”按钮)。本节将介绍以下主题:
&li&&strong&&a href="#Operators"&逻辑和相近运算符&/a&:&/strong&显示如何通过插入逻辑和相近运算符执行更精确的查询。&/li&
&li&&strong&&a href="#Wildcards"&通配符&/a&:&/strong&帮助您查找包含与所给单词相似的单词的页。&/li&
&li&&strong&&a href="#FreeTextQueries"&自由文本查询&/a&:&/strong& 说明如何基于短语的意思来表述一个查询,而不是用精确的单词。&/li&
&li&&strong&&a href="#VectorQueries"&矢量空间查询&/a&:&/strong&解释如何获得与单词和短语列表匹配的查询结果。&/li&
&li&&strong&&a href="#PropertyValueQueries"&属性值查询&/a&:&/strong&告诉您如何查询文件的属性值。&/li&
&li&&strong&&a href="#Examples"&查询示例&/a&:&/strong&给出各种查询的示例。&/li&
&li&&strong&&a href="#PropertyNamesList"&属性名列表&/a&:&/strong&列出和说明可用于查询的属性名。&/li&
&p&搜索产生一个文件列表,这些文件中包含某个单词或短语(不管单词或短语出现在文件中的任何地方)。下面列表给出表述查询的规则:&/p&
&li&连续的单词作为短语对待,它们在匹配文档中必须以相同的顺序出现。&/li&
&li&查询不区分大小写,因此可以用大写或小写键入查询。&/li&
&li&可以搜索任何单词,但不包括在例外列表中列出的单词(对于英语,包括 &em&a&/em&、&em&an&/em&、&em&and&/em&、&em&as&/em& 和其他一些单词), 它们在查询中将被忽略。&/li&
&li&在例外列表中的单词在短语中将作为占位符对待,用来进行相似查询。例如,如果查询“Word for Windows”,结果将给出“Word for Windows”和“Word and Windows” ,因为 &em&for &/em& 是一个在例外列表中出现的虚词。&/li&
&li&标点符号在搜索时将被忽略,如句号 (.)、冒号 (:)、分号 (;) 和逗号 (,)。&/li&
&li&要在查询中使用特殊对待的字符,如 &、|、^、#、@、$、(、),请用引号 () 将查询括起来。&/li&
&li&要搜索包含引号的单词或短语,请先用引号把整个短语括起来,并用两遍引号括住想用引号括起来的单词。例如,World-Wide Web or Web 将搜索 &em&World-Wide Web or Web&/em&。&/li&
&li&可以插入&a href="#Operators"&逻辑运算符&/a&(&strong&AND&/strong&、 &strong&OR&/strong& 和 &strong&NOT&/strong&)以及&a href="#Operators"&相近运算符&/a& (&strong&NEAR&/strong&) 来指定附加的搜索信息。&/li&
&li&&a href="#Wildcards"&通配字符&/a& (*) 可以用所给前缀匹配单词。查询 esc* 可以匹配词条 ESC、escape 等等。&/li&
&li&&a href="#FreeTextQueries"&自由文本查询&/a&可以不按查询语法指定查询。&/li&
&li&可以指定&a href="#VectorQueries"&矢量空间查询&/a&。&/li&
&li&可以执行 ActiveX (OLE) 和文件属性的&a href="#PropertyValueQueries"&属性值查询&/a&。&/li&
&h1&&a name="Operators"&逻辑和相近运算符&/a&&/h1&
&p&逻辑和相近运算符可以创建更精确的查询。&/p&
&table border="1" cellpadding="4" cellspacing="1" width="100%"&
&th align="Left" valign="bottom" bgcolor="#C0C0C0" width=33%&搜索目标&/th&
&th align="Left" valign="bottom" bgcolor="#C0C0C0" width=33%&示例&/th&
&th align="Left" valign="bottom" bgcolor="#C0C0C0" width=33%&结果&/th&
&td valign="top"&同一页中同时包含两个词条&/td&
&td valign="top"&&code&access and basic&/code&&br&
&strong&&/strong&或&strong&&/strong&&br&
&code&access & basic&/code&&/td&
&td valign="top"&包含单词access和basic的页。&/td&
&td valign="top"&同一页中包含两个词条之一&/td&
&td valign="top"&&code&cgi or isapi&/code&&br&
&strong&&/strong&或&strong&&/strong&&br&
&code&cgi | isapi&/code&&/td&
&td valign="top"&包含单词cgi或isapi的页。&/td&
&td valign="top"&包含第一个词条,但不包含第二个词条&/td&
&td valign="top"&&code&access and not basic&/code&&br&
&strong&&/strong&或&strong&&/strong&&br&
&code&access & ! basic&/code&&/td&
&td valign="top"&包含单词access,但不包含单词basic的页。&/td&
&td valign="top"&不匹配某个属性值的页&/td&
&td valign="top"&&code¬ @size = 100&/code&&br&
&strong&&/strong&或&strong&&/strong&&br&
&code&! @size = 100&/code&&/td&
&td valign="top"&大小不是 100 字节的页。&/td&
&td valign="top"&同一页中同时包含两个词条,且互相靠近&/td&
&td valign="top"&&code&excel near project&/code&&br&
&strong&&/strong&或&strong&&/strong&&br&
&code&excel ~ project&/code&&/td&
&td valign="top"&包含互相靠近的单词excel和project的页。&/td&
&p&提示:&/p&
&li&可以在查询表达式中加入括弧,表达式中带括弧的部分比查询的其他部分先执行。&/li&
&li&使用双引号 () 可以指明逻辑或 &strong&NEAR&/strong& 运算符关键字在查询中需要忽略。例如,Abbott and Costello将匹配包含该短语的页,而不是匹配符合该逻辑表达式的页。作为运算符,单词 &em&and&/em& 在英语中是一个虚词。&/li&
&li&&strong&NEAR&/strong& 运算符与 &strong&AND&/strong& 运算符相似, &strong&NEAR&/strong& 也返回一页中两个单词都包含的页。但是,&strong&NEAR&/strong& 和 &strong&AND&/strong& 运算符不同之处在于,&strong&NEAR&/strong& 要看单词是否靠近。也就是说,包含搜索单词较近的页的等级将大于或等于单词相隔较远的页的等级。如果搜索的单词相隔大于 50 个单词,该页将定为等级零&/li&
&li&在内容查询中,&strong&NOT&/strong& 运算符只能用在 &strong&AND&/strong& 运算符之后,它仅用来排除匹配前面内容约束的页。对于属性值查询,&strong&NOT&/strong& 运算符可以不与 &strong&AND&/strong& 运算符一起使用。&/li&
&li&&strong&AND&/strong& 运算符的优先级高于 &strong&OR&/strong&。例如,下面的前三个查询相等,但第四个不同:&br&
a AND b OR c&br&
c OR a AND b&br&
c OR (a AND b)&br&
(c OR a) AND b&/li&
&p&&strong&注意&/strong&&&&在所有语言中,符号(&、|、!、 ~)与英语关键字 &strong&AND&/strong&、&strong&OR&/strong&、&strong&NOT&/strong& 和 &strong&NEAR&/strong& 的作用相同(Index Server 支持)。如果浏览器被设置为下列六种语言,本地化的关键字也可以使用。&/p&
&table border="1" cellpadding="4" cellspacing="1" width="100%"&
&th align="Left" valign="bottom" bgcolor="#C0C0C0" width="40%"&语言&/th&
&th align="Left" valign="bottom" bgcolor="#C0C0C0" width="60%"&关键字&/th&
&td valign="top"&德语&/td&
&td valign="top"&&strong&UND&/strong&、&strong&ODER&/strong&、&strong&NICHT&/strong&、&strong&NAH&/strong&&/td&
&td valign="top"&法语&/td&
&td valign="top"&&strong&ET&/strong&、&strong&OU&/strong&、&strong&SANS&/strong&、 &strong&PRES&/strong&&/td&
&td valign="top"&西班牙语&/td&
&td valign="top"&&strong&Y&/strong&、&strong&O&/strong&、&strong&NO&/strong&、&strong&CERCA&/strong&&/td&
&td valign="top"&荷兰语&/td&
&td valign="top"&&strong&EN&/strong&、&strong&OF&/strong&、&strong&NIET&/strong&、 &strong&NABIJ&/strong&&/td&
&td valign="top"&瑞典语&/td&
&td valign="top"&&strong&OCH&/strong&、&strong&ELLER&/strong&、&strong&INTE&/strong&、&strong&N&ARA&/strong&&/td&
&td&意大利语&/td&&td&&strong&E&/strong&、&strong&O&/strong&、&strong&NO&/strong&、&strong&VICINO&/strong&&/td&
&p&&strong&注意&/strong&&&&NEAR 运算符只能用于单词或短语。&/p&
&h1&&a name="Wildcards"&通配符&/a&&/h1&
&p&&a name="Wildcards"&通配符可以帮助您查找包含与所给单词相似的单词的页。&/a&&/p&
&table border="1" cellpadding="4" cellspacing="1" width="100%"&
&th align="Left" valign="bottom" width=33% bgcolor="#C0C0C0"&&a name="Wildcards"&搜索目标&/a&&/th&
&th align="Left" valign="bottom" width=33% bgcolor="#C0C0C0"&&a name="Wildcards"&示例&/a&&/th&
&th align="Left" valign="bottom" width=33% bgcolor="#C0C0C0"&&a name="Wildcards"&结果&/a&&/th&&/tr&
&td valign="top"&&a name="Wildcards"&具有相同前缀的单词&/a&&/td&
&td valign="top"&&a name="Wildcards"&&code&comput*&/code&&/a&&/td&
&td valign="top"&&a name="Wildcards"&包含前缀为comput的单词的页,例如computer、computing等等&/a&。&/td&
&td valign="top"&&a name="Wildcards"&基于同一个本词的单词&/a&&/td&
&td valign="top"&&a name="Wildcards"&&code&fly**&/code&&/a&&/td&
&td valign="top"&&a name="Wildcards"&包含基于相同本词fly的单词的页,例如flying、flown、flew等等&/a&。&/td&
&h1&&a name="FreeTextQueries"&自由文本查询&/a&&/h1&
&p&&a name="FreeTextQueries"&在自由文本查询中,查询引擎查找与单词或短语最佳匹配的页。这种查询匹配意思,而不是精确的单词。在自由文本查询中,逻辑、相近和通配运算符都将被忽略。自由文本查询以 $contents 为前缀。&/a&&/p&
&table border="1" cellpadding="4" cellspacing="1" width="100%"&
&tr&&th align="Left" valign="bottom" width=33% bgcolor="#C0C0C0"&&a name="FreeTextQueries"&搜索目标&/a&&/th&
&th align="Left" valign="bottom" width=33% bgcolor="#C0C0C0"&&a name="FreeTextQueries"&示例&/a&&/th&
&th align="Left" valign="bottom" width=33% bgcolor="#C0C0C0"&&a name="FreeTextQueries"&结果&/a&&/th&
&td valign="top"&&a name="FreeTextQueries"&匹配自由文本的文件&/a&&/td&
&td valign="top"&&a name="FreeTextQueries"&&code&$contents how do I print in Microsoft Excel? &/code&&/a&&/td&
&td valign="top"&&a name="FreeTextQueries"&提到 printing 和 Microsoft Excel 的页。&/a&&/td&
&h1&&a name="VectorQueries"&矢量空间查询&/a&&/h1&
&p&查询引擎支持矢量空间查询。矢量查询返回匹配单词和短语列表的页,每页的排列指明了页面与查询匹配的程度。&/p&
&table border="1" cellpadding="4" cellspacing="1" width="100%"&
&th align="Left" valign="bottom" width=33% bgcolor="#C0C0C0"&搜索目标&/th&
&th align="Left" valign="bottom" width=33% bgcolor="#C0C0C0"&示例&/th&
&th align="Left" valign="bottom" width=33% bgcolor="#C0C0C0"&结果&/th&&/tr&
&td valign="top"&包含指定单词的页&/td&
&td valign="top"&&code&light, bulb&/code&&/td&
&td valign="top"&包含与搜索单词最匹配的单词的文件&/td&
&td valign="top"&包含加权的前缀、单词和短语的页&/td&
&td valign="top"&&code&invent*, light[50], bulb[10],
&light bulb&[400]&/code&&/td&
&td valign="top"&包含以invent,为前缀的单词、单词light、 bulb和短语light bulb的文件(词条被加权)&/td&
&p&&&!-- &/p& --&&br&
&li&在矢量查询中的组件以逗号隔开。&/li&
&li&矢量查询中的组件可以用 [weight] 语法加权。&/li&
&li&矢量查询返回的页不必匹配查询的所有词条。&/li&
&li&当结果按等级排序时,矢量查询最好。&/li&
&h1&&a name="PropertyValueQueries"&属性值查询&/a&&/h1&
&p&用属性值查询,可以查找含有与所给标准相匹配的属性值的文件。可以用来查询的属性包括文件的基本信息(如文件名、文件大小)和 ActiveX 属性(包含在文档摘要中),ActiveX 属性由 ActiveX 应用程序创建并存储在文件中。&/p&
&p&下面是两种类型的属性查询:&/p&
&li&&a name="PropertyValueQueries"&&strong&关系属性查询&/strong&包括at字符 (@)、&/a&&a href="#PropertyNames"&属性名&/a&、&a href="#RelationalOperators"&关系运算符&/a&和&a href="#PropertyValues"&属性值&/a&。例如,要查找大小超过一兆字节的文件,可以执行查询 @size & 1000000。&/li&
&li&&strong&正则表达式查询&/strong&包括号码符号 (#)、属性名和属性值的&a href="#RegularExpressions"&正则表达式&/a&。例如,要查找所有视频 (.avi) 文件,可以执行查询 #filename *.avi。正则表达式不会匹配特定的属性内容 (#contents) 和全部 (#all)。 在查询中不能检索的属性不能用于 # 查询,包括未存储在属性缓存中的 HTML META 属性。&/li&
&p&本节包含以下主题:&/p&
&li&&a href="#PropertyNames"&属性名&/a&&/li&
&li&&a href="#RelationalOperators"&关系运算符&/a&&/li&
&li&&a href="#PropertyValues"&属性值&/a&&/li&
&h2&&a name="PropertyNames"&属性名&/a&&/h2&
&p&属性名以“at”(@) 或号码符号 (#) 开头,@ 用于关系查询,# 用于正则表达式查询。&/p&
&p&如果未指定属性名,将假定为 &em&@contents&/em&。&/p&
&p&所有文件中都可用的属性包括:&/p&
&table border="1" cellpadding="4" cellspacing="1" width="100%"&
&th align="Left" valign="bottom" bgcolor="#C0C0C0" width="40%"&属性名&/th&
&th align="Left" valign="bottom" bgcolor="#C0C0C0" width="60%"&说明&/th&&/tr&
&td valign="top"&All&/td&
&td valign="top"&匹配单词、短语和任何属性&/td&
&td valign="top"&Contents&/td&
&td valign="top"&文件中单词和短语&/td&
&td valign="top"&Filename&/td&
&td valign="top"&文件的名称&/td&
&td valign="top"&Size&/td&
&td valign="top"&文件大小&/td&
&td valign="top"&Write&/td&
&td valign="top"&文件的最后一次修改时间&/td&
&p&ActiveX 属性值也可以用于查询,绝大多数由 ActiveX 应用程序创建的 Web 站点文件可以用下列属性查询:&/p&
&table border="1" cellpadding="4" cellspacing="1" width="100%"&
&th align="Left" valign="bottom" bgcolor="#C0C0C0" width="40%"&属性名&/th&
&th align="Left" valign="bottom" bgcolor="#C0C0C0" width="60%"&说明&/th&&/tr&
&td valign="top"&DocTitle&/td&
&td valign="top"&文档的标题&/td&
&td valign="top"&DocSubject&/td&
&td valign="top"&文档的主题&/td&
&td valign="top"&DocAuthor&/td&
&td valign="top"&文档的作者&/td&
&td valign="top"&DocKeywords&/td&
&td valign="top"&文档中的关键字&/td&
&td valign="top"&DocComments&/td&
&td valign="top"&文档中的注释&/td&
&p&属性名的完整列表,请参阅本页后面的&a href="#PropertyNamesList"&属性名列表&/a& 。&/p&
&h2&&a name="RelationalOperators"&关系运算符&/a&&/h2&
&p&关系运算符用于关系属性查询中。&/p&
&table border="1" cellpadding="4" cellspacing="1" width="100%"&
&th align="Left" valign="bottom" bgcolor="#C0C0C0" width=33%&搜索目标&/th&
&th align="Left" valign="bottom" bgcolor="#C0C0C0" width=33%&示例&/th&
&th align="Left" valign="bottom" bgcolor="#C0C0C0" width=33%&结果&/th&&/tr&
&td valign="top"&与固定值相关的属性值&/td&
&td valign="top"&@size & 100 &br&
@size &= 100 &br&
@size = 100 &br&
@size != 100 &br&
@size &= 100 &br&
@size & 100 &/code&&/td&
&td valign="top"&大小与查询匹配的文件&/td&
&td valign="top"&拥有全部比特集的属性值&/td&
&td valign="top"&&code&@attrib ^a 0x820&/code&&/td&
&td valign="top"&拥有存档属性的压缩文件&/td&
&td valign="top"&拥有一些比特集的属性值&/td&
&td valign="top"&&code&@attrib ^s 0x20&/code&&/td&
&td valign="top"&拥有存档属性的文件&/td&
&h2&&a name="PropertyValues"&属性值&/a&&/h2&
&table border="1" cellpadding="4" cellspacing="1" width="100%"&
&th align="Left" valign="bottom" bgcolor="#C0C0C0" width="130"&搜索目标&/th&
&th align="Left" valign="bottom" bgcolor="#C0C0C0" width="200"&示例&/th&
&th align="Left" valign="bottom" bgcolor="#C0C0C0" width="170"&结果&/th&&/tr&
&td valign="top"&指定值&/td&
&td valign="top"&&code&@DocAuthor = Bill Barnes &/code&&/td&
&td valign="top"&由Bill Barnes创作的文件&/td&
&td valign="top"&以前缀开始的值&/td&
&td valign="top"&&codeDocAuthor George* &/code&&/td&
&td valign="top"&作者名字是以George打头的文件&/td&
&td valign="top"&带扩展名集中任何一种扩展名的文件&/td&
&td valign="top"&&codefilename *.|(exe|,dll|,sys|) &/code&&/td&
&td valign="top"&带 .exe、.dll 或 .sys 扩展名的文件&/td&
&td valign="top"&在某个日期之后修改过的文件&/td&
&td valign="top"&&code&@write & 96/2/14 10:00:00&/code&&/td&
&td valign="top"&在 1996 年 2 月 14 日 10:00 GMT 之后修改过的文件
&td valign="top"&在相对日期之后修改过的文件&/td&
&td valign="top"&&code&@write & -1d2h&/code&&/td&
&td valign="top"&在最近 26 小时之内修改过的文件&/td&
&td valign="top"&匹配一个矢量的矢量&/td&
&td valign="top"&&code&@vectorprop = { 10, 15, 20 }&/code&&/td&
&td valign="top"&矢量值为 { 10, 15, 20 } 的 ActiveX 文档&/td&
&td valign="top"&每一个值都与标准匹配的矢量&/td&
&td valign="top"&&code&@vectorprop &^a 15&/code&&/td&
&td valign="top"&矢量值的每一个值都大于 15 的 ActiveX 文档&/td&
&td valign="top"&至少有一个值与标准匹配的矢量&/td&
&td valign="top"&&code&@vectorprop =^s 15&/code&&/td&
&td valign="top"&矢量值中至少有一个值大于 15 的 ActiveX 文档&/td&
&li&当使用正则表达式查询时,请确保在属性值之前带上 (#) 字符,否则请带上“at”(@) 字符。等于 (=) 关系运算符假定为用于正则表达式查询。&/li&
&li&文件名 (#filename) 是唯一支持在文字左边出现通配符的正则表达式的属性。&/li&
&li&日期和时间值为 &em&yyyy/mm/dd hh:mm:ss&/em& 或 &EM&yyyy-mm-dd hh:mm:ss&/EM& 格式。年的前两位和整个时间都可以忽略。如果忽略年的前两位,那么小于等于 29??的数字将解释为二十一世纪,大于或等于 30 的数字将解释为二十世纪。所有日期和时间都是格林尼治时间 (GMT)。&/li&
&li&相对与当前时间的日期和时间可以用减号 (-) 跟上零或整数单位和时间单位对来表示。时间单位解释为:(y) 年、(m) 月、(w) 周、(d) 天、(h) 小时、(n) 分钟和 (s) 秒。作为可选项,在时间表达式后还可以指定三位毫秒值。例如, 10:10:03:452&/li&
&li&货币值为 &em&x.y&/em& 格式。在此,&em&x&/em& 是金额的整数值,&em&y&/em& 是小数值。单位没有假定值。&/li&
&li&逻辑值为:(t) 或 (true) 对应与 &strong&TRUE&/strong&, (f) 或 (false) 对应与 &strong&FALSE&/strong&。&/li&
&li&矢量 (VT_VECTOR) 表示为:左大括号 ({) 开始、紧跟逗号分隔的值列表,以右大括号 (}) 结束。&/li&
&li&单值表达式与矢量相比较表示为:&a href="#RelationalOperators"&关系运算符&/a&,然后是 (^a)(对应于&em&全部&/em&)或 (^s)(对应于&em&一些&/em&)。
&li&数字值可以是十进制或十六进制(前面加 0x)。&/li&
&li&&em&contents&/em& 属性值不支持关系运算符,如果指定关系运算符,将找不到任何结果。例如,@contents Microsoft 将查找包含 Microsoft 的文档,但 @contents&strong&=&/strong&Microsoft 将什么也找不到。&/li&
&h3&&a name="RegularExpressions"&正则表达式&/a&&/h3&
&p&属性查询中的正则表达式定义如下:&/p&
&li&除了星号 (*)、逗号 (.)、问号 (?) 和竖线 (|) 之外的任何字符都默认为匹配自己。&/li&
&li&正则表达式可以用引号 () 括起来,如果包含空格 ( ) 或右括号 ()),则必须用引号括起来。&/li&
&li&字符 *、.、和 ? 的作用与它们在 Windows 中的作用一样,星号匹配任意字符,句号匹配 (.) 或字符串结尾,问号匹配任何单个字符。&/li&
&li&字符 | 是转意字符,在 | 之后的字符具有特殊含义:&/li&
&p&( 开始一个组,后面必须有 ) 相对。&!--&/p&--&&br&
&p&) 结束一个组,前面必须有 ( 相对。&!--&/p&--&&br&
&p&[ 开始一个字符类,后面必须有 ](不转意)相对。&!--&/p&--&&br&
&p&{ 开始计数的匹配,后面必须有 } 相对。&!--&/p&--&&br&
&p&} 结束计数的匹配,前面必须有 { 相对。&!--&/p&--&&br&
&p&, 分隔 &strong&OR&/strong& 子句。&!--&/p&--&&br&
&p&* 匹配前面表达式的零次或多次出现。&!--&/p&--&&br&
&p&? 匹配前面表达式的零次或一次出现。&!--&/p&--&&br&
&p&+ 匹配前面表达式的一次或多次出现。&!--&/p&--&&br&
&p&其他字符,包括 |,匹配自己。&!--&/p&--&&br&
&li&方括号 ([]) 之间的下列字符具有特殊含义:&/li&
&p&^ 除了下面的类,匹配任意。它必须是第一个字符。&!--&/p&--&&br&
&p&] 匹配 ]。只能在 ^ 之后,否则起结束类的作用。&!--&/p&--&&br&
&p&- 范围运算符。前面和后面可以是普通字符。&!--&/p&--&&br&
&p&其他匹配自己(范围的开始或结束)。&!--&/p&--&&br&
&li&大括号 ({}) 之间适用下列语法:&/li&
&p&|{m|} 精确匹配前面表达式的 &em&m&/em& 次出现。(0 & m & 256)。 &!--&/p&--&&br&
&p&|{m,|} 匹配前面表达式的至少 &em&m&/em& 次出现。(1 & m & 256)。 &!--&/p&--&&br&
&p&|{m,n|} 匹配前面表达式从 &em&m&/em& 到 &em&n&/em& 次的出现,包含m 和 n。(0 & m & 256, 0 & n &
256)。&!--&/p&--&&br&
&li&要匹配 *、.、和 ?,请用括号括起来(例如,|[*]sample 将匹配 *sample)。&/li&
&h1&&a name="Examples"&查询示例&/a&&/h1&
&table border="1" cellpadding="4" cellspacing="1" width="100%"&
&th align="Left" valign="bottom" bgcolor="#C0C0C0" width="40%"&示例&/th&
&th align="Left" valign="bottom" bgcolor="#C0C0C0" width="60%"&结果&/th&&/tr&
&td valign="top"&&code&@size & 1000000&/code&&/td&
&td valign="top"&大于一兆字节的页&/td&
&td valign="top"&&code&@write & 95/12/23&/code&&/td&
&td valign="top"&该日期后修改过的页&/td&
&td valign="top"&&code&Apple tree&/code&&/td&
&td valign="top"&包含短语apple tree的页&/td&
&td valign="top"&&code&&apple tree&&/code&&/td&
&td valign="top"&同上&/td&
&td valign="top"&&code&@contents apple tree&/code&&/td&
&td valign="top"&同上&/td&
&td valign="top"&&code&Microsoft and @size & 1000000&/code&&/td&
&td valign="top"&包含单词Microsoft,并且大于大于一兆字节的页&/td&
&td valign="top"&&code&µsoft and @size & 1000000&&/code&&/td&
&td valign="top"&包含指定短语的页(与上面不同)&/td&
&td valign="top"&&codefilename *.avi&/code&&/td&
&td valign="top"&视频文件(因为查询包含正则表达式,所以使用 # 前缀)&/td&
&td valign="top"&&code&@attrib ^s 32&/code&&/td&
&td valign="top"&带存档属性的页&/td&
&td valign="top"&&code&@docauthor = John Smith&/code&&/td&
&td valign="top"&由所给作者创作的页&/td&
&td valign="top"&&code&$contents why is the sky blue?&/code&&/td&
&td valign="top"&匹配查询的页&/td&
&td valign="top"&&code&@size & 100 & #filename *.gif&/code&&/td&
&td valign="top"&大于 100 字节的 GIF 文件&/td&
&h1&&a name="PropertyNamesList"&属性名列表&/a&&/h1&
&p&这些属性在查询时都可用,附加的属性要看 Web 服务器的配置。&/p&
&table border="1" cellpadding="4" cellspacing="1" width="100%"&
&th align="Left" valign="bottom" bgcolor="#C0C0C0" width="15%"&友好名称&/th&
&th align="Left" valign="bottom" bgcolor="#C0C0C0" width="20%"&数据类型&/th&
&th align="Left" valign="bottom" bgcolor="#C0C0C0" width="65%"&属性&/th&&/tr&
&td valign="top"&A_HRef&/td&
&td valign="top"&DBTYPE_WSTR |
DBTYPE_BYREF&/td&
&td valign="top" width=65%&HTML HREF 的文字,该属性名由 Microsoft? Site Server 创建,与 Index Server 属性名 HtmlHRef 相对。可以查询,但不能检索。&/td&
&td valign="top"&Access&/td&
&td valign="top"&VT_FILETIME&/td&
&td valign="top" width=65%&文件的最后访问时间。&/td&
&td valign="top"&All&/td&&td valign="top"&(不适用)&/td&
&td valign="top" width=65%&搜索字符串的每一个属性。可以查询,但不能检索。&/td&
&td valign="top"&AllocSize&/td&&td valign="top"&DBTYPE_I8&/td&
&td valign="top" width=65%&为文件分配的磁盘大小。&/td&
&td valign="top"&Attrib&/td&&td valign="top"&DBTYPE_UI4&/td&
&td valign="top" width=65%&文件属性,在 Win32 SDK 文档中说明。&/td&
&td valign="top"&ClassId&/td&&td valign="top"&DBTYPE_GUID&/td&
&td valign="top" width=65%&对象的类标识,例如 WordPerfect、Word 等等。&/td&
&td valign="top"&&a name="Characterization"&Characterization&/a&&/td&&td valign="top"&DBTYPE_WSTR |
DBTYPE_BYREF&/td&
&td valign="top" width=65%&文档的描述或摘要,由 Index Server 使用。&/td&
&td valign="top"&Contents&/td&&td valign="top"&(不适用)&/td&
&td valign="top" width=65%&文件的主要内容。可以查询,但不能检索。&/td&
&td valign="top"&Create&/td&&td valign="top"&VT_FILETIME&/td&
&td valign="top" width=65%&文件的创建时间。&/td&
&td valign="top"&Directory&/td&&td valign="top"&DBTYPE_WSTR |
DBTYPE_BYREF&/td&
&td valign="top" width=65%&文件的物理路径,不包含文件名。&/td&
&td valign="top"&DocAppName&/td&&td valign="top"&DBTYPE_WSTR |
DBTYPE_BYREF&/td&
&td valign="top" width=65%&创建文件的应用程序的名称。&/td&
&td valign="top"&DocAuthor&/td&&td valign="top"&DBTYPE_WSTR |
DBTYPE_BYREF&/td&
&td valign="top" width=65%&文档的作者。&/td&
&td&DocByteCount&/td&&td&DBTYPE_14&/td&&td&文档的字节数。&/td&
&td&DocCategory&/td&&td&DBTYPE_STR |
DBTYPE_BYREF&/td&&td&文档的类别,如备忘录、计划或便笺。&/td&
&td valign="top"&DocCharCount&/td&&td valign="top"&DBTYPE_I4&/td&
&td valign="top" width=65%&文档的字符数。&/td&
&td valign="top"&DocComments&/td&&td valign="top"&DBTYPE_WSTR |
DBTYPE_BYREF&/td&
&td valign="top" width=65%&关于文档的注释。&/td&
&td&DocCompany&/td&&td&DBTYPE_STR |
DBTYPE_BYREF&/td&&td&文档写作的公司名称。&/td&
&td valign="top"&DocCreatedTm&/td&&td valign="top"&VT_FILETIME&/td&
&td valign="top" width=65%&文档创建的时间。&/td&
&td valign="top"&DocEditTime&/td&&td valign="top"&VT_FILETIME&/td&
&td valign="top" width=65%&编辑文档所用的全部时间。&/td&
&td&DocHiddenCount&/td&&td&DBTYPE_14&/td&&td&Microsoft® PowerPoint 文档中的隐藏幻灯片数。&/td&
&td valign="top"&DocKeywords&/td&&td valign="top"&DBTYPE_WSTR |
DBTYPE_BYREF&/td&
&td valign="top" width=65%&文档关键字。&/td&
&td valign="top"&DocLastAuthor&/td&&td valign="top"&DBTYPE_WSTR |
DBTYPE_BYREF&/td&
&td valign="top" width=65%&最近编辑文档的用户。&/td&
&td valign="top"&DocLastPrinted&/td&&td valign="top"&VT_FILETIME&/td&
&td valign="top" width=65%&文档的最近一次打印时间。&/td&
&td valign="top"&DocLastSavedTm&/td&&td valign="top"&VT_FILETIME&/td&
&td valign="top" width=65%&文档的最近一次保存时间。&/td&
&td&DocLineCount&/td&&td&DBTYPE_14&/td&&td&文档包含的行数。&/td&
&td&DocManager&/td&&td&DBTYPE_STR |
DBTYPE_BYREF&/td&&td&文档作者的经理的名称。&/td&
&td&DocNoteCount&/td&&td&DBTYPE_14&/td&&td&PowerPoint 文档中带注释的页数。&/td&
&td valign="top"&DocPageCount&/td&&td valign="top"&DBTYPE_I4&/td&
&td valign="top" width=65%&文档的页数。&/td&
&td&DocParaCount&/td&&td&DBTYPE_14&/td&&td&文档的图形数量。&/td&
&td&DocPartTitles&/td&&td&DBTYPE_STR | DBTYPE_VECTOR&/td&&td&文档部分的名称。例如,在 Excel 中,部分标题是电子工作表的名称;在 PowerPoint 中是幻灯片的标题;在 Word for Windows 中是主文档中各个分文档的名称。&/td&
&td&DocPresentationTarget&/td&&td&DBTYPE_STR|DBTYPE_BYREF&/td&&td&PowerPoint 演示文稿的目标格式(35mm、打印机、视频等等)。&/td&
&td valign="top"&DocRevNumber&/td&&td valign="top"&DBTYPE_WSTR |
DBTYPE_BYREF&/td&
&td valign="top" width=65%&文档的当前版本。&/td&
&td&DocSlideCount&/td&&td&DBTYPE_14&/td&&td&PowerPoint 文档的幻灯片数。&/td&
&td valign="top"&DocSubject&/td&&td valign="top"&DBTYPE_WSTR |
DBTYPE_BYREF&/td&
&td valign="top" width=65%&文档的主题。&/td&
&td valign="top"&DocTemplate&/td&&td valign="top"&DBTYPE_WSTR |
DBTYPE_BYREF&/td&
&td valign="top" width=65%&文档的模板。&/td&
&td valign="top"&&a name="DocTitle"&DocTitle&/a&&/td&&td valign="top"&DBTYPE_WSTR |
DBTYPE_BYREF&/td&
&td valign="top" width=65%&文档的标题&/td&
&td valign="top"&DocWordCount&/td&&td valign="top"&DBTYPE_I4&/td&
&td valign="top" width=65%&文档的字数。&/td&
&td valign="top"&FileIndex&/td&&td valign="top"&DBTYPE_I8&/td&
&td valign="top" width=65%&文件的唯一标识。&/td&
&td valign="top"&&a name="FileName"&FileName&/a&&/td&&td valign="top"&DBTYPE_WSTR |
DBTYPE_BYREF&/td&
&td valign="top" width=65%&文件名。&/td&
&td valign="top"&HitCount&/td&&td valign="top"&DBTYPE_I4&/td&
&td valign="top" width=65%&文件中的命中次数(单词匹配查询)。&/td&
&td valign="top"&HtmlHRef&/td&&td valign="top"&DBTYPE_WSTR |
DBTYPE_BYREF&/td&
&td valign="top" width=65%&HTML HREF 的文字。可以查询,但不能检索。&/td&
&td valign="top"&HtmlHeading1&/td&&td valign="top"&DBTYPE_WSTR |
DBTYPE_BYREF&/td&
&td valign="top" width=65%&HTML 文档中样式为 H1 的文字。可以查询,但不能检索。&/td&
&td valign="top"&HtmlHeading2&/td&&td valign="top"&DBTYPE_WSTR |
DBTYPE_BYREF&/td&
&td valign="top" width=65%&HTML 文档中样式为 H2 的文字。可以查询,但不能检索。&/td&
&td valign="top"&HtmlHeading3&/td&&td valign="top"&DBTYPE_WSTR |
DBTYPE_BYREF&/td&
&td valign="top" width=65%&HTML 文档中样式为 H3 的文字。可以查询,但不能检索。&/td&
&td valign="top"&HtmlHeading4&/td&&td valign="top"&DBTYPE_WSTR |
DBTYPE_BYREF&/td&
&td valign="top" width=65%&HTML 文档中样式为 H4 的文字。可以查询,但不能检索。&/td&
&td valign="top"&HtmlHeading5&/td&&td valign="top"&DBTYPE_WSTR |
DBTYPE_BYREF&/td&
&td valign="top" width=65%&HTML 文档中样式为 H5 的文字。可以查询,但不能检索。&/td&
&td valign="top"&HtmlHeading6&/td&&td valign="top"&DBTYPE_WSTR |
DBTYPE_BYREF&/td&
&td valign="top" width=65%&HTML 文档中样式为 H6 的文字。可以查询,但不能检索。&/td&
&td valign="top"&Img_Alt&/td&
&td valign="top"&DBTYPE_WSTR | DBTYPE_BYREF&/td&
&td valign="top" width=65%&&IMG& 标记的候补文字。可以查询,但不能检索。&/em&&/td&
&td valign="top"&&a name="Path"&Path&/a&&/td&&td valign="top"&DBTYPE_WSTR |
DBTYPE_BYREF&/td&
&td valign="top" width=65%&文件的物理路径,包含文件名。&/td&
&td valign="top"&Rank&/td&&td valign="top"&DBTYPE_I4&/td&
&td valign="top" width=65%&行的等级,范围从 0 到 1000,数字越大表示越匹配。&/td&
&td valign="top"&RankVector&/td&&td valign="top"&DBTYPE_I4 |
DBTYPE_VECTOR&/td&
&td valign="top" width=65%&&a href="#VectorQueries"&矢量查询&/a&的独立组件的等级。&/td&
&td valign="top"&ShortFileName&/td&&td valign="top"&DBTYPE_WSTR |
DBTYPE_BYREF&/td&
&td valign="top" width=65%&短 (8.3) 文件名。&/td&
&td valign="top"&Size&/td&&td valign="top"&DBTYPE_I8&/td&
&td valign="top" width=65%&文件大小,单位是字节。&/td&
&td valign="top"&USN&/td&&td valign="top"&DBTYPE_I8&/td&
&td valign="top" width=65%&更新序列号,仅用于 NTFS 驱动器。&/td&
&td valign="top"&&a name="VPath"&VPath&/a&&/td&&td valign="top"&DBTYPE_WSTR |
DBTYPE_BYREF&/td&
&td valign="top" width=65%&指向文件的完整虚拟路径,包括文件名。如果有多个可能的路径,将选择最符合查询的一个。&/td&
&td valign="top"&WorkId&/td&&td valign="top"&DBTYPE_I4&/td&
&td valign="top" width=65%&文件的 Internal ID,Index Server 使用。&/td&
&td valign="top"&Write&/td&&td valign="top"&VT_FILETIME&/td&
&td valign="top" width=65%&最近一次写文件的时间。&/td&
&h2&&a name="DefiningNewPropertyNames"&定义新属性名&/a&&/h2&
&p&要定义不在前面列表中的属性,必须把它们列在 .idq 文件的 [Names] 节中。要在限制、排序方法或作为检索的列中使用这些在 .idq 文件中定义的属性,请使用下面格式:&/p&
&p&[Names]&br&
#不在标准列表中的属性&br&
&em&Propertyname&/em& ( &em&Datatype &/em&) = &em&GUID&/em& ["&em&Name&/em&" | &em&propid&/em&]&br&
&p&语法中,&em&"Name"&/em& 是属性名(下面的例子是 &strong&"Sales"&/strong&),&em&propid&/em& 是十六进制的属性 ID 。注意,要用引号把友好名称括起来,但属性 ID??不要用引号。&/p&
&p&例如,假设想定义 HTML meta 标记作为属性名,以便某人可以搜索,要定义的属性是 &strong&Sales&/strong&。&/p&
&p&&strong&定义 Sales 属性&/strong&&!--&/p&--&&br&
&li&在 .idq 文件中的 [Names] 节下,添加下面的行:&/li&
&p&MetaDescription(DBTYPE_WSTR) = d1b5d3f0-c0b3-11cf-9a92-00a0c908dbf1 "Sales"&!--&/p&--&&br&
&p&GUID 号来自注册表的 &strong&MetaTagClsid&/strong& 参数,该参数在下面位置:&!--&/p&--&&br&
&pre&HKEY_LOCAL_MACHINE
&\CurrentControlSet
&&\Control
&&&\HtmlFilter
&&&&\MetaTagClsid&/pre&
&li&然后,在 HTML 文件中想要出现标记的地方,定义 meta 说明。&/li&
&p&例如,假设以后想搜索所有包含销售计划的文件:&!--&/p&--&&br&
&p&在 File1.htm 中:&!--&/p&--&&br&
&p&&META NAME="Sales" CONTENT="Projections for 1998"&&!--&/p&--&&br&
&p&在 File2.htm 中:&!--&/p&--&&br&
&p&&META NAME="Sales" CONTENT="Projections for 1999"&&!--&/p&--&&br&
&p&在 File3.htm 中:&!--&/p&--&&br&
&p&&META NAME="Sales" CONTENT="Sales in 1997"&&!--&/p&--&&br&
&p&&strong&注意&/strong&&&&请确保将 META NAME 标记添加到文件开始的 &head& 和 &/head& HTML 标记之间。&/p&
&p&现在就可以搜索所有关于销售计划的文件,请发送下面查询:&/p&
&p&@metadescription projections&!--&/p&--&&br&
&p&该查询返回所有在 META 标记的 CONTENT 字段中包含单词 &em&projections&/em&??的文件。在该例子中,将返回 File1.htm 和 File2.htm。&/p&
&p&但是,假如要按年搜索销售情况,例如 1997 年的销售列表,请发送下面查询:&/p&
&p&@metadescription 1997&!--&/p&--&&br&
&p&将返回 File3.htm。&/p&