Syncovery中的PascalScrip
Syncovery 8添加了PascalScript语言,允许您以多种方式自定义配置文件的行为。
请注意,自Syncovery 8发布候选版以来,许多功能的语法已发生变化。 任何名为Profile的参数都已删除。
要更改特定行为,您需要编写一个拦截函数并编写一些代码。 在大多数情况下,当我们收到最好使用自定义脚本实现的功能请求时,我们的技术支持将为您编写代码。但是,我们将尝试完整记录可用的拦截和功能,以便您可以自己进行实验。
通过作业设置类别选项卡上的“Pascal脚本...”复选标记在配置文件中指定脚本。
有用的即用型脚本
可以按原样使用以下脚本,只需将脚本粘贴到PascalScript对话框中即可。
为Windows转换不允许的字符
此脚本允许您在左侧的文件名中包含不允许的字符/:\?| <>“*。 右侧可以是Windows兼容存储,例如本地NTFS驱动器。
简单的电子邮件通知
此脚本简化了电子邮件通知,可以轻松编辑以自定义电子邮件。
根据配置文件结果发送电子邮件通知
仅当从左到右复制少于10个或超过100个文件时,此脚本才会发送电子邮件通知。
可用的PascalScript拦截
目前提供以下拦截。 将根据需要添加额外的拦截以满足客户的要求。
OnDownloadComplete
OnGetCustomHeaders
OnGetProfilePathBeforeListing
OnGetProfilePathBeforeCopying
OnHttpPost
OnIncludeItem
OnProfileResults
OnMoveFileToDeletedFolder
OnReplaceFilenameLeftToRight
OnReplaceFilenameRightToLeft
OnScanFolder
OnSendEmail
OnUploadComplete
OnVolumeShadowComplete
OnBeforeFolderCreate
OnBeforeFileCopy
可用的PascalScript功能
您可以使用以下功能进行呼叫。
标准功能,例如Pos, Copy, Length, Ord
function ConcatPath(const a,b:UnicodeString; const t: Int64):UnicodeString;
function ConcatPathWithDelim(const a,b,delim:UnicodeString):UnicodeString;
function ExtractFileName(const s: UnicodeString):UnicodeString;
function ExtractFilePath(const s: UnicodeString):UnicodeString;
function ExtractURLPartAfterServer(const s: UnicodeString):UnicodeString;
function ExtractFileExt(const s: UnicodeString):UnicodeString;
function ChangeFileExt(const s,t: UnicodeString):UnicodeString;
function FileExists(const FileName: UnicodeString):Boolean;
procedure Log(const s:UnicodeString);
procedure MessageBox(const s:UnicodeString);
function Execute(const s:UnicodeString; const TimeOutSeconds: Int64):Int64;
function GetProfileName:UnicodeString;
procedure SetProfileResult(const AResultText:UnicodeString);
function ConnFileExists(const Connector:Opaque; const FileName: UnicodeString):Boolean;
function ConnCustomFTPCommand(const Connector:Opaque; const ACommand: UnicodeString;const AOkResponse1,AOkResponse2,AOkResponse3:Integer;var ResponseText: UnicodeString):Integer;
function ConnRenameFile(const Connector:Opaque; const AFromFileName,AToFileName: UnicodeString):Boolean;
function StringReplace(const Source, OldPattern, NewPattern: UnicodeString;const CaseSensitive:Boolean): UnicodeString;
function EncodeBase64(const s: UnicodeString):UnicodeString;
function DecodeBase64(const s: UnicodeString):UnicodeString;
function SimpleEncrypt(const s: UnicodeString):UnicodeString;
function SimpleDecrypt(const s: UnicodeString):UnicodeString;
function AESEncrypt(const s,passphrase: UnicodeString):UnicodeString;
function AESDecrypt(const s,passphrase: UnicodeString):UnicodeString;
function ChooseFile(const Prompt,Extension:UnicodeString):UnicodeString;
function OpenIniFile(const AFileName:UnicodeString):Int64;
procedure CloseIniFile(const AnIni:Int64);
function ReadIniString(const AnIni:Int64;const Section,Ident,Default:UnicodeString):UnicodeString;
function GetInput(const s: UnicodeString):UnicodeString;
function GetPassword(const s: UnicodeString):UnicodeString;
function ReadRegistryString(const Key,OptName:UnicodeString):UnicodeString;
procedure WriteRegistryString(const Key,OptName,Value:UnicodeString);
function GetProfileRunID:UnicodeString;
procedure ClearBody;
function GetBodyLine(const i:Integer):UnicodeString;
procedure SetBodyLine(const i:Integer;const s:UnicodeString);
procedure DeleteBodyLine(const i:Integer);
procedure AddBodyText(const s:UnicodeString);
function GetActionList:UnicodeString;
function GetProfileSettings:UnicodeString;
function Now:Double;
function NowUTC:Double;
function OffsetFromUTC:Double;
function TimeToStr(const DateTime: Double):UnicodeString;
function DateTimeToStr(const DateTime: Double):UnicodeString;
function DateToStr(const DateTime: Double):UnicodeString’;
function DateTimeToStrWithFormat(const DateTime: Double;const FormatString:UnicodeString):UnicodeString;
function MakeSurePathExists(const s:UnicodeString;const isRightSide:Boolean):Boolean;
function PathDelim:UnicodeString;
function GetDelim(const Connector: Opaque):UnicodeString;
function IncludeLeadingPathDelim(const s: UnicodeString):UnicodeString;
function OpenTextFile(const s:UnicodeString):Opaque;
function CreateTextFile(const s:UnicodeString):Opaque;
procedure WriteLine(const F:Opaque;const ALine:UnicodeString);
function ReadLine(const F:Opaque):UnicodeString;
procedure CloseFile(const F:Opaque);
公司名称:北京哲想软件有限公司
北京哲想软件官方网站:www.cogitosoft.com
北京哲想软件微信公众平台账号:cogitosoftware
北京哲想软件微博:哲想软件
北京哲想软件邮箱:[email protected]
销售(俞先生)联系方式:+86(010)68421378
微信:18610247936 QQ:368531638