爱体育

 
 加入
查看: 171|回复: 5

ftp 获取指定文件夹文件list-爱体育

  [复制链接]
发表于 2023-9-1 09:31:03 | 显示全部楼层 |
各位路过的老大指点一下啊,如何获取ftp直径文件夹下的文件,我用下面的函数,只能获取ftp下的文件,获取不到子文件夹的文件

func ftpgetfilelist($remotefolder)  ;获取文件清单
   $open = _ftp_open('myftp control')
   local $conn = _ftp_connect($open, $ftpserver, $username, $password)
   if @error then
          msgbox(0,"","服务器连接失败!")
   else
;~      $filelist = _ftp_listtoarray($conn, 2,$remotefolder)
     $filelist = _ftp_listtoarray($conn, 2)
   endif
   local $iftpc = _ftp_close($conn)
   local $iftpo = _ftp_close($open)
endfunc
发表于 2023-9-2 15:16:29 | 显示全部楼层
估计大家没看懂你的需求,是需要显示[文件夹 文件],还是仅显示[文件夹],或者仅是显示[文件]?分别使用不同参数即可

_ftp_listtoarray($l_ftpsession [, $return_type = 0 [, $l_flags = 0 [, $l_context]]])
$return_type [可选参数] 0 = 获取文件及目录, 1 = 仅获取目录, 2 = 仅获取文件.
 楼主| 发表于 2023-9-9 13:42:41 | 显示全部楼层

估计大家没看懂你的需求,是需要显示[文件夹 文件],还是仅显示[文件夹],或者仅是显示[文件]?分别使用不 ...

例如,获取文件夹1/文件夹2/文件........  , 我需要获取文件夹2下面的文件 。

目前我用_ftp_listtoarray($l_ftpsession [, $return_type = 0 [, $l_flags = 0 [, $l_context]]]) ,只能获取到  路径下的文件,获取不到指定子文件夹里面的文件
发表于 2023-9-10 12:29:16 | 显示全部楼层
获取文件夹下面的文件夹内的内容?我觉得应该是一级级的,不会像dos里面tree命令一样
我给你一个完整版的程序自己琢磨吧,估计是以前下载的人家的,我自己改过,做了一些注释
  1. #include
  2. #include
  3. #include
  4. #include
  5. #include
  6. #include
  7. #include
  8. #include
  9. #include

  10. ;以上是加载窗体控件所需头文件
  11. #include
  12. #include
  13. #include
  14. #include ;检查按键是否被按下头文件
  15. #include
  16. ;以上是加载其他头文件
  17. #region ### start koda gui section ### form=
  18. $form1 = guicreate("ftp_tools", 786, 485, 219, 255)
  19. $label1 = guictrlcreatelabel("用户名", 13, 32, 45, 20)
  20. $input1 = guictrlcreateinput("test", 64, 28, 97, 24)
  21. $input2 = guictrlcreateinput("111111", 228, 28, 89, 24)
  22. $label2 = guictrlcreatelabel("密码", 173, 31, 45, 20)
  23. $label3 = guictrlcreatelabel("ip", 332, 31, 45, 20)
  24. $ipaddress1 = _guictrlipaddress_create($form1,360, 30, 180, 20)
  25. _guictrlipaddress_set($ipaddress1, "127.0.0.1")
  26. $label4 = guictrlcreatelabel("端口", 550, 31, 45, 20)
  27. $input3 = guictrlcreateinput("21", 590, 27, 65, 24)
  28. $button1 = guictrlcreatebutton("连接", 663, 23, 50, 33)
  29. $button12 = guictrlcreatebutton("断开", 720, 23, 50, 33)
  30. $group1 = guictrlcreategroup("信息区域", 16, 168, 753, 281)
  31. $listview1 = guictrlcreatelistview("文件路径", 411, 192, 337, 241,-1)
  32. guictrlsendmsg(-1, $lvm_setcolumnwidth, 0, 300)
  33. $edit1 = guictrlcreateedit("", 40, 192, 230, 252)
  34. guictrlsetdata(-1, "logo..." & @crlf)
  35. guictrlcreategroup("", -99, -99, 1, 1)
  36. $label5 = guictrlcreatelabel("要下载的路径", 30, 90, 97, 33)
  37. $label10 = guictrlcreatelabel("状态:空闲中...", 15, 453, 550, 25,-1, $ws_ex_clientedge)
  38. guictrlsetfont(-1, 10, 400, 0, "ms sans serif")
  39. guictrlsetcolor(-1, 0x0000ff)
  40. $input4 = guictrlcreateinput("www", 126, 85, 521, 24)
  41. $label6 = guictrlcreatelabel("要上传的路径", 30, 130, 97, 33)
  42. $input5 = guictrlcreateinput("", 127, 126, 521, 24)
  43. $button4 = guictrlcreatebutton("下载目录", 668, 80, 97, 33)
  44. $button5 = guictrlcreatebutton("o(∩_∩)o~)", 668, 120, 97, 33)
  45. $button6 = guictrlcreatebutton("进入文件夹", 300, 190, 95, 33)
  46. guictrlsetstate ( $button6, $gui_disable);使按钮暂时不可以使用
  47. $button7 = guictrlcreatebutton("退后一步", 300, 233, 97, 33)
  48. guictrlsetstate ( $button7, $gui_disable);使按钮暂时不可以使用
  49. $button8 = guictrlcreatebutton("下载文件", 300, 275, 97, 33)
  50. guictrlsetstate ( $button8, $gui_disable);使按钮暂时不可以使用
  51. $button9 = guictrlcreatebutton("上传文件", 300, 318, 97, 33)
  52. guictrlsetstate ( $button9, $gui_disable);使按钮暂时不可以使用
  53. $button10 = guictrlcreatebutton("删除文件", 300, 360, 97, 33)
  54. guictrlsetstate ( $button10, $gui_disable);使按钮暂时不可以使用
  55. $button11 = guictrlcreatebutton("重命名文件", 300, 402, 97, 33)
  56. guictrlsetstate ( $button11, $gui_disable);使按钮暂时不可以使用
  57. $jindu = guictrlcreateprogress(570, 455, 200, 20, $pbs_smooth)
  58. guisetstate(@sw_show)
  59. ;onautoitexitregister("quit");注册一个程序退出时运行的函数


  60. guictrlsetstate ( $button12, $gui_disable);使断开键暂时不可用直到连接成功或者失败
  61. #endregion ### end koda gui section ###
  62. ;以上创建gui,创建控件

  63. ;下面是主循环
  64. while 1
  65.         $nmsg = guigetmsg()
  66.        
  67.         switch $nmsg
  68.                 case $gui_event_close   ;关闭窗口
  69.                         exit;退出
  70.       
  71.                  
  72.                 case $button1;按下连接键
  73.                         guictrlsetstate ( $button1, $gui_disable);使连接键暂时不可用直到连接成功或者失败
  74.                        
  75.                         local $server = _guictrlipaddress_get($ipaddress1);获取主机地址
  76.                         local $username = guictrlread ($input1);获取用户名
  77.                         local $passwrod = guictrlread ($input2);获取密码
  78.             local $prot =         guictrlread ($input3);获取端口信息
  79.                         ;msgbox(48,"提示!",$server)
  80.                             
  81.                                 if $username = "" then ;验证用户名
  82.                                         msgbox(48,"提示!","请输入用户名")
  83.                                         guictrlsetstate ( $button1, $gui_enable);恢复连接按钮状态为可用
  84.                                         continueloop
  85.                                 endif
  86. ;~                                 if $passwrod = "" then ;验证密码
  87. ;~                                         msgbox(48,"提示!","请输入密码")
  88. ;~                                         guictrlsetstate ( $button1, $gui_enable);恢复连接按钮状态为可用
  89. ;~                                         continueloop
  90. ;~                                 endif
  91.                                 if $server = "0.0.0.0" then ;验证ip地址
  92.                                         msgbox(48,"提示!","请输入一个有效的主机地址")
  93.                                         guictrlsetstate ( $button1, $gui_enable);恢复连接按钮状态为可用
  94.                                         continueloop
  95.                                 endif
  96.                                 guictrlsetstate ( $button1, $gui_disable);使连接键暂时不可用直到连接成功或者失败
  97.                _guictrledit_appendtext($edit1, "获取用户信息..." & @crlf);日志
  98.                                
  99.                             $ftp_open = _ftp_open("myftp");创建一个ftp会话
  100.                                 if $ftp_open = 0 then;判断创建会话是否成功
  101.                                         _guictrledit_appendtext($edit1, "创建一个ftp会话失败" & @crlf);日志
  102.                                         guictrlsetstate ( $button1, $gui_enable);恢复连接按钮状态为可用
  103.                                     continueloop
  104.                                 endif;结束判断
  105.                                 _guictrledit_appendtext($edit1, "打开一个ftp会话..." & @crlf);日志
  106.                                
  107.                                
  108.                 $ftp_connect =_ftp_connect($ftp_open,$server, $username, $passwrod,$prot);建立一个连接
  109.                                 if $ftp_connect = 0 then;判断连接成功或者失败
  110.                                         _guictrledit_appendtext($edit1, "建立一个ftp连接失败" & @crlf);日志
  111.                                         guictrlsetstate ( $button1, $gui_enable);恢复连接按钮状态为可用
  112.                                     continueloop
  113.                                 endif;判断结束
  114.                                 _guictrledit_appendtext($edit1, "建立一个ftp连接..." & @crlf);日志
  115.                                
  116.                                
  117.                                 $liebiao = _ftp_listtoarray($ftp_connect,0,$internet_flag_resynchronize);获取当前远程目录名称和文件名称
  118.                                 local $i;声明局部变量
  119.                                 for $i = 1 to $liebiao[0];for 循环开始
  120.                                 guictrlcreatelistviewitem ( $liebiao[$i],$listview1);将目录列表更新到列表
  121.                              next;for循环结束
  122.                                 _guictrledit_appendtext($edit1, "获取远程目录列表并输出到信息栏..." & @crlf);日志
  123.                                 guictrlsetstate ( $button12, $gui_enable);连接动作完成,恢复断开按钮状态为可用
  124.                                 guictrlsetstate ( $button6, $gui_enable);使按钮可以使用
  125.                                 ;guictrlsetstate ( $button7, $gui_enable);使按钮可以使用
  126.                                 guictrlsetstate ( $button8, $gui_enable);使按钮可以使用
  127.                                 guictrlsetstate ( $button9, $gui_enable);使按钮可以使用
  128.                                 guictrlsetstate ( $button10, $gui_enable);使按钮可以使用
  129.                                 guictrlsetstate ( $button11, $gui_enable);使按钮可以使用
  130.                                 guictrlsetdata($label10,"状态:服务器已连接")
  131.                                
  132.                         case $button12;按断开接键
  133.                                 $ftpc = _ftp_close($ftp_open)
  134.                                 _guictrledit_appendtext($edit1, "断开之前的连接..." & @crlf);日志
  135.                                 _guictrllistview_deleteallitems($listview1)
  136.                                 guictrlsetstate ( $button12, $gui_disable);使断开键暂时不可用直到再次连接成功
  137.                                 guictrlsetstate ( $button1, $gui_enable);当前断开,恢复连接按钮状态为可用
  138.                                 guictrlsetstate ( $button6, $gui_disable);使按钮不可以使用
  139.                                 guictrlsetstate ( $button7, $gui_disable);使按钮不可以使用
  140.                                 guictrlsetstate ( $button8, $gui_disable);使按钮不可以使用
  141.                                 guictrlsetstate ( $button9, $gui_disable);使按钮不可以使用
  142.                                 guictrlsetstate ( $button10, $gui_disable);使按钮不可以使用
  143.                                 guictrlsetstate ( $button11, $gui_disable);使按钮不可以使用
  144.                                 guictrlsetdata($label10,"状态:服务器已断开")
  145.                                 _emptymyscriptmem(@autoitpid)

  146.                                  
  147.                         case $button6;按下进入文件夹
  148.                                  $sis =_guictrllistview_getselectedcount($listview1);检查当前被选择的项目数量
  149.                                  if $sis <> 1 then;判断数量,如果没有选择,则无动作
  150.                                          continueloop
  151.                                  endif;结束判断
  152.                      guictrlsetstate ( $button7, $gui_enable);使按钮可以使用
  153.                                  $si = _guictrllistview_getselectedindices($listview1,true);获取当前选择的项目序列号
  154.                                  $dqmlu_name =_ftp_dirgetcurrent($ftp_connect);记录当前用户所处的目录位置
  155.                                  $filename = _guictrllistview_getitemtext($listview1,$si[1]);获取当前选择的文件名称
  156.                              _guictrllistview_deleteallitems($listview1);删除当前列表项目内容
  157.                                  _ftp_dirsetcurrent($ftp_connect,$filename);设置目录
  158.                                  $newlistview = _ftp_listtoarray($ftp_connect,0,$internet_flag_resynchronize);获取该目录内的文件列表
  159.                                  for $ii = 1 to $newlistview[0];for 循环开始
  160.                                  guictrlcreatelistviewitem ( $newlistview[$ii],$listview1);将新的列表更新到列表
  161.                              next;for循环结束
  162.                          guictrlsetdata($label10,"状态:进入《" & $dqmlu_name & "/" & $filename & " 》文件夹")
  163.                             ;$dqmlu_name2 =_ftp_dirgetcurrent($ftp_connect);记录当前用户进入目录后所处的目录位置

  164.             case $button7;按下后退一步按键
  165.                                 $dqmlu_name2 =_ftp_dirgetcurrent($ftp_connect);记录当前用户当前的位置
  166.                                
  167.                                 ;if $dqmlu_name <> $dqmlu_name2 then;对比目录路径
  168.                                  ;   _guictrllistview_deleteallitems($listview1);删除当前列表项目内容
  169.                                   ;  _ftp_dirsetcurrent($ftp_connect, $dqmlu_name);设置目录
  170.                                         ;$backlistview = _ftp_listtoarray($ftp_connect);获取该目录内的文件列表
  171.                                     ;for $iii = 1 to $backlistview[0];for 循环开始
  172.                                  ;     guictrlcreatelistviewitem ( $backlistview[$iii],$listview1);将新的列表更新到列表
  173.                               ;  next;for循环结束
  174.                                 ;else;否则执行下面的程序
  175.                                   local $str, $strs;声明变量
  176.                                   $str = stringsplit($dqmlu_name2, "/");将当前目录使用/进行字符串拆分,以便下面进行筛选
  177.                                         for $s = 1 to $str[0]-1;循环开始,不用最后一个目录名称
  178.                        $strs = $strs & "/" & $str[$s];重组新的字符串
  179.                                    next        ;循环结束
  180.                                $strss = stringtrimleft ( $strs,1);整理新的字符串,使其生成正确的目录名称样式/test/test/....
  181.                                         if $strss = "" then;判断路径是否退到根目录
  182.                                                 $strss = "/";如果是,则将目录路径设定为/
  183.                                         endif;结束判断
  184.                                         _guictrllistview_deleteallitems($listview1);删除当前列表项目内容
  185.                                     _ftp_dirsetcurrent($ftp_connect, $strss);设置目录
  186.                                         $backlistviews = _ftp_listtoarray($ftp_connect,0,$internet_flag_resynchronize);获取该目录内的文件列表
  187.                                     for $iiii = 1 to $backlistviews[0];for 循环开始
  188.                                       guictrlcreatelistviewitem ( $backlistviews[$iiii],$listview1);将新的列表更新到列表
  189.                                     next;for循环结束
  190.                                     guictrlsetdata($label10,"状态:进入《" & $strs & " 》文件夹")
  191.                                         $strs = "";用完后清除路径变量
  192.                 
  193.                        
  194.                     case $button8;按下下载文件按钮
  195.                              $dls=_guictrllistview_getselectedcount($listview1);检查当前被选择的项目数量
  196.                                  if $dls <> 1 then;判断数量,如果没有选择,则无动作
  197.                                          msgbox(48,"提示!","请选择你要下载的文件")
  198.                                          continueloop
  199.                                   endif;结束判断
  200.                             $dq_dq_filename =_ftp_dirgetcurrent($ftp_connect);获取当前目录路径
  201.                                 $dl_dq = _guictrllistview_getselectedindices($listview1,true);检索选定项目的索引
  202.                                 $dl_dq_name = _guictrllistview_getitemtext($listview1,$dl_dq[1]);获取当前选择的文件名称
  203.                                  guictrlsetdata($label10,"状态:为要下载的文件选择储存路径");更新状态
  204.                             $save_l_name = filesavedialog( "选择您要保存的位置.", @desktopdir & "", "所有文件(*.*)",18,$dl_dq_name);显示一个文件保存对话框
  205.                                 if @error then;判断是否选择的有效路径
  206.                                  guictrlsetdata($label10,"状态:没有选择一个有效的保存路径,下载任务取消,服务器空闲");状态
  207.                                  continueloop
  208.                                  endif;判断结束

  209.                                 guictrlsetdata($label10,"状态:正在下载文件《" &$dq_dq_filename & "/" & $dl_dq_name & "》中,请等待...");状态
  210.                            $download = _ftp_progressdownload($ftp_connect, $save_l_name, $dq_dq_filename & "/" & $dl_dq_name,"_updateprogress");下载文件
  211.                           
  212.                           if $download = 1 then;判断下载状态
  213.                                   msgbox(64,"完成","下载完成",2)
  214.                        
  215.                             elseif $download = -1 then
  216.                                   msgbox(48,"提示","下载失败,无法创建本地文件")
  217.                           
  218.                             elseif $download = -2 then
  219.                                   msgbox(48,"提示","下载失败,不能获取远程文件大小")
  220.                                
  221.                                 elseif $download = -3 then
  222.                                   msgbox(48,"提示","下载失败,打开远程文件失败")

  223.                 elseif $download = -4 then
  224.                                   msgbox(48,"提示","下载失败,读取远程文件失败")
  225.                                   
  226.                             elseif $download = -5 then
  227.                                   msgbox(48,"提示","下载失败,关闭远程文件失败")

  228.                                 elseif $download = -6 then
  229.                                   msgbox(48,"提示","下载失败,被调用函数返回的百分比下载失败")
  230.                                
  231.                                 elseif $download = -7 then
  232.                                   msgbox(48,"提示","下载失败,本地文件写入失败")
  233.                                   
  234.                             endif;判断结束
  235.                             guictrlsetdata($label10,"状态:文件下载完成,服务器空闲");更新状态
  236.                                 guictrlsetdata($jindu,0);清理进度
  237.                                
  238.                         case $button9;按下上传文件按钮
  239.                                 $dqmlu_name3 =_ftp_dirgetcurrent($ftp_connect);获取当前目录路径
  240.                                 guictrlsetdata($label10,"状态:选择要上传的文件路径");更新状态
  241.                                 $select_file =fileopendialog ( "请选择需要上传的文件", @desktopdir & "", "所有文件(*.*)"  );显示一个文件上传对话框
  242.                                 if @error then;判断选择路径
  243.                                         guictrlsetdata($label10,"状态:没有选择一个有效的路径,任务取消,服务器空闲")
  244.                                         continueloop
  245.                                 endif;结束判断
  246.                                 $upload_filename = _getfilename( $select_file)
  247.                                 guictrlsetdata($label10,"状态:正在上传文件《" & $select_file & " 》  请稍后")
  248.                                 $upload = _ftp_progressupload($ftp_connect, $select_file,$dqmlu_name3 & "/" &  $upload_filename, "_updateprogress");开始上传
  249.                                 if $upload = 1 then;判断上传结果并给出提示
  250.                                         msgbox(64,"提示","文件上传成功",2)
  251.                                        
  252.                                 elseif  $upload = -3 then
  253.                                         msgbox(48,"提示","创建文件失败")
  254.                                
  255.                                 elseif  $upload = -4 then
  256.                                         msgbox(48,"提示","写文件失败 ")
  257.                                
  258.                                 elseif  $upload = -5 then
  259.                                         msgbox(48,"提示","关闭文件失败")
  260.                                
  261.                                 elseif  $upload = -6 then
  262.                                         msgbox(48,"提示","被调用函数返回的百分比下载失败 ")                               

  263.                 endif ;判断结束   
  264.                                
  265.                                  $dqmlu_name10 =_ftp_dirgetcurrent($ftp_connect);记录当前用户所处的目录位置
  266.                              _guictrllistview_deleteallitems($listview1);删除当前列表项目内容
  267.                                  _ftp_dirsetcurrent($ftp_connect, $dqmlu_name10);设置目录
  268.                                  $newlistview10 = _ftp_listtoarray($ftp_connect,0,$internet_flag_resynchronize);获取该目录内的文件列表
  269.                                  for $ii10 = 1 to $newlistview10[0];for 循环开始
  270.                                  guictrlcreatelistviewitem ( $newlistview10[$ii10],$listview1);将新的列表更新到列表
  271.                              next;for循环结束
  272.                                  guictrlsetdata($jindu,0);清理进度条
  273.                                 guictrlsetdata($label10,"状态:文件上传完成,服务器空闲");更新状态


  274.            case $button10;按下删除文件
  275.                              $dls4=_guictrllistview_getselectedcount($listview1);检查当前被选择的项目数量
  276.                                  if $dls4 <> 1 then;判断数量,如果没有选择,则无动作
  277.                                          msgbox(48,"提示!","请选择中您要删除的文件")
  278.                                          continueloop
  279.                                   endif;结束判断
  280.                            $dqmlu_name4=_ftp_dirgetcurrent($ftp_connect);获取当前目录路径
  281.                            $dl_dq4 = _guictrllistview_getselectedindices($listview1,true);检索选定项目的索引
  282.                            $dl_dq_name4 = _guictrllistview_getitemtext($listview1,$dl_dq4[1]);获取当前选择的文件名称
  283.                            $delete_file =_ftp_filedelete($ftp_connect,  $dqmlu_name4 & "/" & $dl_dq_name4);
  284.                            if $delete_file = 0 then
  285.                                    msgbox(48,"提示!","删除远程服务器文件失败,重试")
  286.                                     guictrlsetdata($label10,"状态:删除《" & $dqmlu_name4 & "/" & $dl_dq_name4 & "》失败");更新状态
  287.                            else
  288.                                    msgbox(64,"提示","删除文件成功")
  289.                                    guictrlsetdata($label10,"状态:删除《" & $dqmlu_name4 & "/" & $dl_dq_name4 & "》成功");更新状态
  290.                            endif
  291.                           
  292.                           
  293.                                  $dqmlu_name100 =_ftp_dirgetcurrent($ftp_connect);记录当前用户所处的目录位置
  294.                              _guictrllistview_deleteallitems($listview1);删除当前列表项目内容
  295.                                  _ftp_dirsetcurrent($ftp_connect, $dqmlu_name100);设置目录
  296.                                  $newlistview100 = _ftp_listtoarray($ftp_connect,0,$internet_flag_resynchronize);获取该目录内的文件列表
  297.                                  for $ii100 = 1 to $newlistview100[0];for 循环开始
  298.                                  guictrlcreatelistviewitem ( $newlistview100[$ii100],$listview1);将新的列表更新到列表
  299.                              next;for循环结束
  300.                           
  301.                           
  302.                           
  303.                           
  304.                   case $button11;重命名文件                          
  305.                           $dls5=_guictrllistview_getselectedcount($listview1);检查当前被选择的项目数量
  306.                                  if $dls5 <> 1 then;判断数量,如果没有选择,则无动作
  307.                                          msgbox(48,"提示!","请选择中要重命名的文件")
  308.                                          continueloop
  309.                                   endif;结束判断
  310.                                  
  311.                            $dqmlu_name5=_ftp_dirgetcurrent($ftp_connect);获取当前目录路径
  312.                            $dl_dq5 = _guictrllistview_getselectedindices($listview1,true);检索选定项目的索引
  313.                            $dl_dq_name5 = _guictrllistview_getitemtext($listview1,$dl_dq5[1]);获取当前选择的文件名称
  314.                            $new_file_names = inputbox("重命名", "输入新的名称,包含后缀名", "", "",280,140)
  315.                            if @error then
  316.                                    continueloop
  317.                            endif
  318.                            $rname =  _ftp_filerename($ftp_connect,  $dqmlu_name5 & "/" & $dl_dq_name5, $new_file_names)
  319.                            if @error then
  320.                                   msgbox(48,"提示","重命名失败")
  321.                            else
  322.                                   msgbox(64,"提示","重命名成功")
  323.                            endif
  324.                            $dqmlu_name100s =_ftp_dirgetcurrent($ftp_connect);记录当前用户所处的目录位置
  325.                              _guictrllistview_deleteallitems($listview1);删除当前列表项目内容
  326.                                  _ftp_dirsetcurrent($ftp_connect, $dqmlu_name100s);设置目录
  327.                                  $newlistview100s = _ftp_listtoarray($ftp_connect,0,$internet_flag_resynchronize);获取该目录内的文件列表
  328.                                  for $ii100s = 1 to $newlistview100s[0];for 循环开始
  329.                                  guictrlcreatelistviewitem ( $newlistview100s[$ii100s],$listview1);将新的列表更新到列表
  330.                              next;for循环结束
  331.                
  332.               case $button4;按下下载目录
  333.                



  334.         endswitch
  335. wend


  336. func _updateprogress($prozent)
  337.     guictrlsetdata($jindu,$prozent)
  338.     if _ispressed("77") then return 0 ; abbruch bei f8
  339.     return 1 ; bei 1 fortsetzen
  340. endfunc
  341. func _getfilename($spath, $sflag = 0)
  342.         if $sflag = 0 then
  343.                 $sflag = 0
  344.         else
  345.                 $sflag = 1
  346.         endif
  347.         if $sflag = 0 then
  348.                 $sfilename = stringregexpreplace($spath, '. \\', '')
  349.         else
  350.                 $sfilename = stringregexpreplace($spath, '. \\', '')
  351.                 $sfilename = stringregexpreplace($sfilename, '\.[^\.]*$', '')
  352.         endif
  353.         return ($sfilename)
  354. endfunc

  355. ;func quit()
  356. ;        _ftp_close($ftp_open)
  357. ;endfunc

  358. func _emptymyscriptmem($pid)
  359.         local $ai_handle = dllcall("kernel32.dll", 'int', 'openprocess', 'int', 0x1f0fff, 'int', false, 'int', $pid)
  360.         local $ai_return = dllcall("psapi.dll", 'int', 'emptyworkingset', 'long', $ai_handle[0])
  361.         dllcall("kernel32.dll" , 'int', 'closehandle', 'int', $ai_handle[0])
  362. endfunc
  363. $list=processlist()
  364. for $x=1 to $list[0][0]
  365.         _emptymyscriptmem($list[$x][1])
  366. next
复制代码
发表于 2023-9-10 12:43:04 | 显示全部楼层
本帖最后由 不是小灵通 于 2023-9-10 12:47 编辑

另外如果只是读取本地文件夹,3行代码解决问题。搜索出来的结果,保存在你当前文件夹的file.txt中。
ftp的不知道能否借鉴
  1. $dirpath = @scriptdir
  2. $savefile = @scriptdir & "\file.txt"
  3. runwait(@comspec & " /c dir /b /s /a:-d " & $dirpath & " > " & $savefile, "", @sw_hide)
复制代码

 楼主| 发表于 2023-9-16 17:13:33 | 显示全部楼层
还是非常感谢兄台 ~ 我需求的是ftp子目录里面的文件,不是一级目录下的文件。 本地文件夹搜索文件没问题
您需要登录后才可以回帖 登录 | 加入

本版积分规则

||小黑屋|爱体育 ( ) "));

gmt 8, 2023-12-7 01:01 , processed in 0.089936 second(s), 20 queries .

powered by x3.5

© 2001-2023 .

返回列表
网站地图