• 程序调用批处理完成上传、下载


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

    一、当前程序的处理方式  
     在程序中将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、新的程序的处理方式实现是可以的,但由于是调用命令行,属于异步调用,    
      返回的结果存于文本文件中,取结果需要在再去读取文本文件,还要   
      有同步的考虑,处理相对麻烦些 

  • 相关阅读:
    关于在MAC上进行 LARAVEL 环境 Homestead 安装过程记录
    js 贷款计算器
    js 实现阶乘
    js 两点间距离函数
    composer Your requirements could not be resolved to an installable set of packages
    vue 项目优化记录 持续更新...
    vue 项目打包
    vue 真机调试页面出现空白
    vue 真机调试
    谈谈-Android状态栏的编辑
  • 原文地址:https://www.cnblogs.com/gjung/p/560725.html
Copyright © 2020-2023  润新知