用命令行下的FTP实现自动下载&上传文件,用宏定制Visual studio
作者:淡月清风 日期:2010-06-05
1.使用方法
Windows下的FTP命令支持一个参数-s,通过它即可实现命令行下的FTP,格式如下:
ftp -s:ftpCmd.txt
这里的ftpCmd.txt中是一系列的FTP子系统命令,格式为:
open <ftp服务器的地址>
<用户名>
<密码>
<put或者get>
quit
2.为什么要这样用FTP
有两个原因:
a.著名的CuteFTP和FlashXP竟不能正常列出UNIX FTP下的某些文件/目录,而ftp命令可以;
b.可定制IDE实现,保存源代码时自动FTP到目标机器。
3.附注 - 用“宏”来定制Visual Studio
a.Visual Studio.Net 2003的中当前生效的“宏”路径保存在
HKCU\Software\Microsoft\VisualStudio\7.1\vsmacros\RecordingProject7\Path下。
b.在“宏”程序中,可以使用多数.NET Framework类
c.在2.b中提到的方案具体实现方法
·在DocumentEvents_DocumentSaved事件(当前文件保存完成时发生)中编写代码
·Document.FullName是当前文件的完整路径
·在“输出”窗口输出字符串
'------输出字符串---------------------------
Dim win As Window = DTE.Windows.Item(EnvDTE.Constants.vsWindowKindOutput)
Dim OutputWnd As OutputWindow = win.Object
Dim out As OutputWindowPane
If (OutputWnd.ActivePane Is System.DBNull.Value Or OutputWnd.ActivePane Is Nothing) Then
out = OutputWnd.OutputWindowPanes.Add("AutoFtpMacroPane")
Else
out = OutputWnd.ActivePane
End If
out.Activate()
out.Clear()
out.OutputString(DateTime.Now & "." & DateTime.Now.Millisecond & " " & Document.FullName & "已经保存。" & vbCrLf)
·生成ftpCmd.txt
'-------生成FTP批处理命令文件--------------------------
Imports System
Imports System.IO
Dim FtpCmd As String = "C:\WINDOWS\Temp\ftp_cmd.txt"
Dim sw As StreamWriter = New StreamWriter(FtpCmd)
sw.WriteLine("open 192.168.1.xxx")
sw.WriteLine("myname")
sw.WriteLine("mypass")
sw.WriteLine("put ""x:\a.cpp"" ""/a.cpp""")
sw.WriteLine("quit")
sw.Close()
·执行ftp -s:ftpCmd.txt
Shell("ftp -s:C:\WINDOWS\Temp\ftp_cmd.txt", AppWinStyle.MinimizedNoFocus, True, 1500)
上一篇
下一篇


文章来自:
Tags:
相关日志:





