Board logo

标题: 建议开发论坛命令行的搜索功能 [打印本页]

作者: qzwqzw     时间: 2007-1-1 09:06    标题: 建议开发论坛命令行的搜索功能

偶然发现dir开始支持offset和amount参数

由此联想到命令行下的搜索功能——find

如果find可以开发出来,CLI的灵活高效就可以得到体现

而 Discuz! Command Prompt 就可以真正进入实用阶段了

————————————————

另外,在type一些贴子时,发现Quote的色调不太正常,建议修改一下
作者: Wengier     时间: 2007-1-1 20:25
现已成功加入FIND命令!用法如下:

FIND [驱动器:]路径 | [驱动器:][路径]文件名 [offset,amount] "字符串" [/C] [/N] [/V]

如果不指定文件名则将查找指定路径中的所有文件,也可以用offset,amount来控制范围(和dir的一样,如10,20表示从第10个文件开始,共查找20个文件;如不指定则表示所有文件),字符串即要查找的字符串,默认将显示文件中所有匹配该字符串的行,可以加上以下选项:

/C:只显示文件中匹配该字符串的行数;
/N:只显示匹配该字符串的文件名;
/V:只显示不匹配该字符串的所有行。

选项的位置可以随意。使用举例:

FIND C:\1\2 "hello" /V
FIND C:\1 0,50 /N "hello" /V
FIND /C A:\AUTOEXEC.BAT "echo"

等等。

关于上面提到的帖子中quote的部分的色调也已修改了一下。

现论坛命令提示符界面已更新到3.0 RC1版,如没有大问题不久后将推出正式版本。欢迎测试!
作者: qzwqzw     时间: 2007-1-2 03:30
good!

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

建议再加几个有论坛特色的开关

/-N  不显示未匹配的文件名
/A  显示匹配文件的所有行
/-I  支持大小写敏感(感觉很少会用到,但也保不准)
/u  查找指定用户id的主题帖

另外,将字符串作为第一参数更符合习惯

当然,如果会影响代码的整体结构那就算了

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

quote块的颜色OK,只是默认的居中效果未修改

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

ver似乎不需要sending...,因为pormpt $v是不sending...的

[ Last edited by qzwqzw on 2007-1-1 at 02:47 PM ]
作者: electronixtar     时间: 2007-1-2 08:38
哎呀,太NNNNNN了,顶~
作者: Wengier     时间: 2007-1-2 17:31


  Quote:
Originally posted by qzwqzw at 2007-1-1 02:30 PM:
good!

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

建议再加几个有论坛特色的开关

/-N  不显示未匹配的文件名
/A  显示匹配文件的所有行
/-I  支持大小写敏感(感觉很少会用到,但也保不准)
/u  查找指定用户id的主题帖

另外,将字符串作为第一参数更符合习惯

当然,如果会影响代码的整体结构那就算了

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

quote块的颜色OK,只是默认的居中效果未修改

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

ver似乎不需要sending...,因为pormpt $v是不sending...的

除上面已有的开关外,现已继续给FIND命令增加了一些开关(顺便说一下,因为DOS下的FIND命令没有带-字符的开关,所以我也尽量避免了使用了这种形式的开关):

/A:显示带有指定字符串的帖子中的所有行;
/I:忽略字符串的大小写(默认为大小写敏感,和DOS下的FIND命令保持一致);
/U:显示指定用户发的帖子的内容(注:FIND命令现已支持命令行上指定帖子号,如0、1、2等,比如想查找并显示指定用户发的主题帖只需将帖子号指定为0即可,默认则从主题帖和所有回复帖中寻找)

对于上面提到的“/-N”开关(不显示未匹配的文件名),其实加上已有的/N开关就可以了。当/N开关和其它开关(如/A、/C)连用时将指示FIND命令自动略过未匹配的文件名。而/N开关单独使用则表示只显示匹配的文件名,而既不显示未匹配的文件名也不显示文件内容。

已将字符串作为第一参数。顺序的调整倒不是问题,甚至可以完全不设定顺序(就像开关那样),设定顺序主要是为了和DOS的用法保持一致。

使用举例:

FIND "ECHO" A:\AUTOEXEC.BAT /V
FIND "WENGIER" C:\1 0 /U /I
FIND "HELLO" C:\8 0,20 4 /A/I/N

等等。

关于quote块的部分,因为这部分其实是直接根据论坛GUI界面的显示样式来显示的,所以要注意如果对其样式(包括布局和颜色)进行更改的话将同时影响命令行界面和GUI界面。

ver已改为不用sending。ver之前会sending主要是因为它有个隐藏参数/R(仿纯DOS)可显示更多信息,现已改为当不加参数时将不sending。

现已更新到3.0 RC2版,欢迎测试!