扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:佚名 来源:天极论坛 2007年10月15日
关键字:
用文本编辑器打开ATF文件(自动文件传输文件),发现全是乱码,只有路径可以识别。灵机一动用UltraEdit-32打开并用十六进制打开,哈,秘密全在其中。
ATF的系统文件格式如下:
04 40 41 54 46 01 00 01 01 00 01 01 01 01 00 01 '第八位:00表示增量下载,01全部重新下载
00 00 00 00 00 00 00 01 00 FF FF 00 00 11 00 43 '第八位:00表示文件传输完毕后不挂断,01表示文件传输完毕后不挂断言 C
41 75 74 6F 58 66 65 72 5F 43 6F 6D 6D 61 6E 64 AutoXfer_Command
01 13 45 3A 5C 55 53 42 42 41 4B 5C 32 30 30 33 第一位是传输方式:00 发到主机01从主机接收 02同步 第二位是本地文件路径长度 ,后面的是本地文件路径
31 2E 64 62 66 14 44 3A 5C 71 74 64 61 74 61 31 '第六个主机文件路径长度, 后面的是主机文件路径
5C 32 30 30 33 31 2E 64 62 66
有了文件的组成格式,生成这么一个文件就不在话下了。只要用二进制方式生成这个文件,就一切OK了。
Public Sub makeATFFile(ByVal localpath As String, ByVal remotepath As String, ByVal filename As String) Dim tx() As Byte Dim ii As Integer Dim len1, len2 As Integer len1 = Len(localpath) len2 = Len(remotepath) ReDim tx(0 To 48 + len1 + len2 + 2) '04 40 41 54 46 01 00 01 01 00 01 01 01 01 00 01 '第八位:00表示增量下载,01自然下载 '00 00 00 00 00 00 00 01 00 FF FF 00 00 11 00 43 C '41 75 74 6F 58 66 65 72 5F 43 6F 6D 6D 61 6E 64 AutoXfer_Command '01 13 45 3A 5C 55 53 42 42 41 4B 5C 32 30 30 33 第一位是传输方式:00 发到主机01从主 机接收 02同步 第二位是本地文件路径长度 '31 2E 64 62 66 14 44 3A 5C 71 74 64 61 74 61 31 '第六个主机文件路径长度 '5C 32 30 30 33 31 2E 64 62 66 tx(0) = &H4 tx(1) = &H40 tx(2) = &H41 tx(3) = &H54 tx(4) = &H46 tx(5) = &H1 tx(6) = &H0 tx(7) = &H1 tx(8) = &H1 tx(9) = &H0 tx(10) = &H1 tx(11) = &H1 tx(12) = &H1 tx(13) = &H1 tx(14) = &H0 tx(15) = &H1 tx(16) = &H0 tx(17) = &H0 tx(18) = &H0 tx(19) = &H0 tx(20) = &H0 tx(21) = &H0 tx(22) = &H0 tx(23) = &H1 tx(24) = &H0 tx(25) = &HFF tx(26) = &HFF tx(27) = &H0 tx(28) = &H0 tx(29) = &H11 tx(30) = &H0 tx(31) = &H43 '41 75 74 6F 58 66 65 72 5F 43 6F 6D 6D 61 6E 64 AutoXfer_Command tx(32) = &H41 tx(33) = &H75 tx(34) = &H74 tx(35) = &H6F tx(36) = &H58 tx(37) = &H66 tx(38) = &H65 tx(39) = &H72 tx(40) = &H5F tx(41) = &H43 tx(42) = &H6F tx(43) = &H6D tx(44) = &H6D tx(45) = &H61 tx(46) = &H6E tx(47) = &H64 '01 13 45 3A 5C 55 53 42 42 41 4B 5C 32 30 30 33 第一位是传输方式:00 发到主机01从主 tx(48) = &H1 tx(49) = len1 For ii = 1 To len1 tx(49 + ii) = Asc(Mid(localpath, ii, 1)) Next ii tx(49 + len1 + 1) = len2 For ii = 1 To len2 tx(49 + ii + len1 + 1) = Asc(Mid(remotepath, ii, 1)) Next ii '二进制文件打开 On Error Resume Next Open filename For Binary As #1 For ii = 0 To 48 + len1 + len2 + 2 Put #1, , tx(ii) Next ii Close 1 End Sub |
输入本地文件路径,主机文件路径,ATF文件名,就可生成这么一个文件,再将RemoteData.AutoXferFile设成新生成的ATF文件,你就可以想传什么就传什么文件了,不过,有一点要注意:这两个文件路径都是必须存在的,不然会出错。
结论:
利用VB驱动pcAnyWhere是一件非常简单的事件,但不是很好,首先它无法完成由程序控制,还有是在拔号与文件传输时会出现操作界面,无法将其置为一个后台程序,而人工的干预也过于容易,不过,在解决我当前的问题方面,它是一个非常好的选择。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者