zoukankan      html  css  js  c++  java
  • 程序调用批处理完成上传、下载

    关于上传下载的新的方案.  

    一、当前程序的处理方式  
     在程序中将ftp的文件上传,文件下载,取得文件列表等操作封装为类的方法 
     这些方法使用Socket通过TCP/IP协议和服务器通讯完成ftp的文件上传, 
     文件下载,取得文件列表等操作 
     程序通过调用封装好的类的方法实现相应功能 
    二、新的程序的处理方式  
     将ftp的文件上传,文件下载,取得文件列表等操作采用Dos命令行实现 
     程序通过调用命令行来实现文件的上传下载 

     要解决的问题 
     1、几条ftp命令要能在一个批处理中完成(OK) 

      a、首先建立“ftp.scr”文件,内容如下
       open 192.168.1.67 6767   
       user   
       yuanj   
       softroad   
       get jconf_contfile  c:\jconf_contfile   
       bye   
      b、建立“run.bat”文件,内容如下    
       ftp -n -s:ftp.scr>ftp.log   
     2、批处理可以在vb。net中调用(OK)     
                    Dim objExecuteFile As New System.Diagnostics.ProcessStartInfo    
                    Dim objExecute As New System.Diagnostics.Process    
                    objExecuteFile.FileName = "CMD.exe"    
                    objExecuteFile.Arguments ="/c run.bat"    
                    objExecuteFile.UseShellExecute = True    
                    objExecute.StartInfo = objExecuteFile    
                    objExecute.Start()    

     3、批处理中执行的ftp命令的返回结果要能被程序读取(OK)    
       “run.bat”文件中的 “ftp -n -s:ftp.scr>ftp.log”   
       会将ftp命令的返回结果写入“ftp.log”文件中  

     4、ftp命令的返回结果的分析    
      ftp命令ls的返回结果如下   
       200 PORT command successful.  
       150 Opening ASCII mode data connection for file list.  
       1.txt
       2.txt
       226 Transfer complete.  
       ftp: 214 bytes received in 0.02Seconds 13.38Kbytes/sec.  

      我们需要将有用的信息提取出来,这里我们需要提取文件列表。   
     5、ftp.scr文件中的内容是程序动态写进入的    
    三、总结     
     1、新的程序的处理方式实现是可以的,但由于是调用命令行,属于异步调用,    
      返回的结果存于文本文件中,取结果需要在再去读取文本文件,还要   
      有同步的考虑,处理相对麻烦些 

  • 相关阅读:
    [IOS/翻译]Core Services Layer
    JEval使用实例
    Spring面试总结
    对easyui datagrid进行扩展,当滚动条拉直最下面就异步加载数据。
    虚拟机无法安装64位系统,是否说明硬件不支持?
    zh-cn,zh-tw,en-us,en-gb等网页语言代码一览表
    Python 计算程序运行时间
    美国教授是如何评价中国研究生的
    过来人谈在美国大学里的中国研究生
    javascript 十六进制与RGB颜色值的相互转换
  • 原文地址:https://www.cnblogs.com/gjung/p/560725.html
Copyright © 2011-2022 走看看