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)


本文链接地址: 用命令行下的FTP实现自动下载&上传文件,用宏定制Visual studio
https://blog.qingfengju.com/index.asp?id=224

上一篇: SVN服务器的创建
下一篇: Cygwin Easy 及其设置

分类:Win32/C++ 查看次数:7780 发布时间:2010/6/5 22:40:24