fs_plugin
TSL语言的跨平台实现的文件系统(filesystem)插件。
安装
(已集成到mytsl
发行版中)
动态库文件:fs_plugin.dll或者libfs_plugin.so。
把相关的动态库文件拷贝TSL目录的plugin目录。
(如果需要下载兼容正式版的Windows版本的动态库文件请访问这里)。
注意:由于有操作文件的函数,所以不宜放到公共的执行服务器,只可放到私有的执行服务器上。
使用指南
提供的TSL函数:
fs_path
fs_path(...) 用来组装路径。
参数说明:
可以有任意多个参数,代表多级目录,例如:
fs_path("c:\\", "temp", "file.txt") 返回 "c:\\temp\\file.txt"。
fs_path("/home/user", "tsl", "my.tsl") 返回 "/home/user/tsl/my.tsl"。
fs_parent_path
fs_root_directory
fs_root_path
fs_root_name
fs_relative_path
fs_relative_path(path) 返回相对路径。
例如:"C:\Users\abcdef\Local Settings\temp" 相对路径是 "Users\abcdef\Local Settings\temp"。
fs_filename
fs_stem
fs_extension
fs_remove_filename
fs_replace_filename
fs_replace_extension
fs_current_path
fs_temp_directory_path
fs_temp_directory_path() 返回适用于临时文件的目录位置。
在 POSIX 系统上,路径可以是指定于环境变量者 TMPDIR 、 TMP 、 TEMP 、 TEMPDIR 之一,而且若不指定它们的任一者,则返回路径 "/tmp" 。
在 Windows 系统上,典型的路径是 GetTempPath 所返回者。
fs_exists
fs_is_directory
fs_file_size
fs_creation_time
fs_last_write_time
fs_resize_file
fs_copy
fs_remove
fs_remove_all
fs_rename
fs_create_directory
fs_create_directories
fs_list
fs_list_all
fs_glob
fs_glob(pattern) 查找 glob 样式的模式匹配的文件,参见Unix的Shell的模式匹配。
参数说明:
pattern 要匹配的模式,字符串类型。
例如:c:\tsl\*.tsl 返回 c:\tsl 目录中的所有以.tsl结尾的文件名。
如果要返回包括所有子目录的,可以这样 c:\tsl\**\*.tsl。
fs_equivalent
fs_space
fs_permissions
fs_permissions(path, perms) 设置文件访问权限。
参数说明:
path 文件路径名。
perms 整数类型,Unix方式的权限设置,例如:
0777 所有用户拥有读、写及执行/查找权限。
0755 文件拥有者拥有读、写、执行/查找权限,其他用户有读、执行/查找权限。
fs_canonical
fs_canonical(path, [base]) 转换路径path为规范绝对路径,即在其通用格式表示中无点、双点元素或符号链接的绝对路径。
参数说明:
path 文件路径名。
base 基础路径,可选参数。
结果说明:
字符串类型,如果转换不成功会抛出错误。
fs_lock
fs_lock(path, [timeout]) 文件加锁(只适用于跨进程加锁,不能用于同进程的多个线程之间的加锁)。
参数说明:
path 文件路径名。
timeout 超时,精度毫秒,可选参数。
结果说明:
返回为数组:
如果发生错误,返回[错误代码,错误信息]
否则,返回[0, 文件锁句柄]