定义服务器类型
这个对话框用于设置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
注释:这个例子中,如果文件名过长,服务器把列表折成两行,因此需要两种定义。