标题: 建议开发论坛命令行的搜索功能
[打印本页]
作者: 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版,欢迎测试!