定义服务器类型

 

这个对话框用于设置Total Commander自动检测功能无法识别的服务器。如果FTP服务器返回的文件列表不标准就会产生这种情况。多数Internet服务器使用Unix格式文件列表(ls -l),但许多大型机和内网服务器使用它们自己的专用格式。

 

注意:以MLSD命令代替LIST时,不会出现本对话框,因为MLSD(machine list directory)的格式已在标准中严格定义。

 

定义字串:这里定义的字符串用于解析下方区域显示的服务器原始列表数据。它为每个属性定义特殊字符,如'n'代表文件名。所有属性定义见下文。

来自服务器的原始文件夹数据:

这是FTP服务器返回的当前远端文件夹的列表。如果文件夹不包含任何有用文件,你应该断开连接,然后使用网络FTP连接为该连接定义新的远程文件夹。

如果通过HTTP连接服务器,文件列表已被预处理,删除了HTML标签和其他妨碍解析列表的数据。

 

其他定义字串(可选, 用于非常复杂的服务器):

如果服务器返回多种列表字符串,如文件列表一种,文件夹列表另外一种,你可以定义一种以上文件列表格式。Total Commander应用返回错误值最小的那种格式。

原始数据中选定行的解释结果:

这部分让你可以检查定义的列表格式的转换是否如你所愿。定义列表格式后,你应该将光标放到原始列表的所有行上,看看转换后的列表是否有效。

 

加载已有的类型...

如果你已经定义了一种特殊服务器类型,可以加载它的定义格式。你也可以导入其他人定义的服务器类型。这样系统管理员能够为公司服务器提供一个预定义模板。为了创建这种文件,先用这个对话框定义服务器类型,然后将wcx_ftp.ini中的服务器定义复制到单独的ini文件。这个文件就可以供其他用户使用了。

确定定义的服务器类型应用到当前连接。如果已修改了列表格式,将询问你是否保存新的服务器定义。

取消关闭对话框,不保存设置。Total Commander将使用‘自动检测’。

 

 

 

定义符列表(区分大小写!):

 

与名字相关的定义符:

n文件名(nnnnnnnn 表示8个字符的文件名,n* 的定义见下文 * 的说明)

vVMS格式文件名:name.ext;1 dirname.dir;1

.(句号)删除文件名的尾随空格,添加句号分隔的其他字符(如nnnnnnnn.nnn),见下文PC-NFSD的例子。

 

日期,时间定义符:

D

M

TTT3字母的月份名(Jan,Feb,Mar,...),支持英文,德文和法文。

TTT=12个月的名字,每个名字3个字母

允许定义其他语言的月份名称。例如(波兰语):TTT=stylutmarkwimajczelipsiewrzpa¥lisgru

UUUUU Unix格式 年/时间,例如:"2000" 或 "20:30"(同一位置)

Y

h小时

H小时修饰符(a - 上午时间,p - 下午时间)

m分钟

s

 

其他文件属性定义符:

S文件大小

S=1024乘以给定数值(此例:1024)后的大小。适用于按block数返回文件大小的服务器。

pUnix格式文件权限(例如:-rwxrwxrwx,定义用户权限)

d文件夹标志,例如,用D或d代表文件夹

d=x 文件夹标志,等号后面给出文件夹定义字符。(见后文VOS例子)

 

其他定义符:

*1. 数字属性后面:代表所有数字,直到第1个非数字字符

2. 名称属性中(不在行尾):所有字符,直到下一个空格

3. 名称属性中(在行尾):所有字符,直到行尾

!跳过所有字符,直到第一个空格或行尾

$跳过所有空格/制表符,直到下一个字符或行尾

\数据换行(最多支持2行)

<空格>忽略的字符。不要放在行首,因为Windows会删除所有前导空格!

(短横线)忽略的字符。需要放在行首时,用它取代空格。

x1个空格。如果这个位置有其他字符,忽略全行(例如用来忽略文件列表前面或后面的显示磁盘剩余空间等信息的行)。

x=c特定的一个字符(本例是字母'c')。如果这个位置有其他字符,忽略全行(例如,为了使用多个定义字串解析复杂列表,强迫TC使用其它定义字串)。

X空格之外的任意单个字符。如果这个位置是空格,忽略全行。

X=c指定字符(本例是字母'c')之外的任意单个字符。如果这个位置是指定的字符,忽略全行。

 

 

定义字串示例:

 

1. AIX Unix 服务器:

列表:

-rw-rw-r--   1 dso      posgroup    2913 Mar 25 1999  .Xdefaults

drw-rw-r--   1 dso      posgroup    2913 Mar 25 13:30 subdir1

格式定义:

pppppppppp                       SSSSSSS TTT DD UUUUU n*

或者更好的定义:

pppppppppp                     !S* TTT DD UUUUU n*

注释:第2个定义更好是因为属主和组的名字可能更长,文件大小字符串会向右移。

 

2. PC-NFSD:

列表:

prog1    exe     2,563,136 06-10-99  10:00a

temp         <dir>         01-27-97   3:41p

格式定义:

nnnnnnnn.nnn  dSSSSSSSSSSS MM DD YY  hh mmH

注释:数字属性内的逗号自动检测。这个定义遇到所有文件夹会返回错误码1,因为没有文件大小属性,但如果没有第2个格式定义,Total Commander忽略2以下的错误代码 - 否则使用错误码较小的那种定义。格式定义中的句号删除名字prog1 exe 之间的空格,插入一个句号。

 

3. VOS (Stratus):

列表:

w     10  seq       99-04-20 11:15:42  abbreviations

m      4  99-07-02 10:11:25  arsffs32

格式定义:

-   SSSSS            YY MM DD hh mm ss  n*

- d=  SSSSS  YY MM DD hh mm ss  n*

注释:这个服务器的文件和文件夹列表格式不同,因此需要两种定义。

 

4. Unisys Clearpath:

列表:

UCF/CONFIG/SAMPLE/TSA             SEQDATA            1428 09/22/1998 18:37

FF990628/BD/0009942/0009943/000PRINT

                                  BACKUPPRINTER      7200 01/01/2000 04:22

格式定义:

nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn               SSSSSSSSS MM DD YYYY hh mm

n*\x                                               SSSSSSSSS MM DD YYYY hh mm

注释:这个例子中,如果文件名过长,服务器把列表折成两行,因此需要两种定义。