Board logo

标题: [文本处理] 批处理怎样将FTP上子目录中的文件名保存到本地文本? [打印本页]

作者: Wayne9    时间: 2023-11-20 09:43     标题: 批处理怎样将FTP上子目录中的文件名保存到本地文本?

新人小白一枚,想弄个批处理文件,将FTP上子目录中的文件名保存到本地文本。目前的情况是,在DOS窗口里能遍历所有文件了,但是没有保存到文本。请大佬帮忙看看,多谢!
  1. @echo off & color 0A
  2. set f_info=FTPdata.txt
  3. set ftpUser=userName
  4. set ftpPass=Password
  5. set ftpIP=58.215.203.29
  6. set ftp_path=/READ
  7. set LocalFolder=D:/DATACHECK
  8. set fname=ANST_FTP_data_list
  9. set time=%date:~0,4%%date:~5,2%%date:~8,2%
  10. set ename=.txt
  11. set file=%fname%%time%%ename%
  12. echo open %ftpIP% > %file%
  13. echo user %ftpUser% >> %file%
  14. echo %ftpPass%>> %file%
  15. echo prompt >> %file%
  16. echo binary >> %file%
  17. echo cd %ftp_path%>> %file%
  18. rem echo ls . >> %file%
  19. echo dir *.*  >> %file%
  20. rem echo lcd %f_tmp% >> %file%
  21. echo disconnect >> %file%
  22. echo bye >> %file%
  23. ftp -v -n -s:%file%
  24. pause
复制代码

作者: ShowCode    时间: 2023-11-20 13:40

回复 1# Wayne9


第28行改成这样试试
  1. ftp -v -n -s:%file% > "%f_info%"
复制代码

作者: Wayne9    时间: 2023-11-21 09:31

回复 2# ShowCode
测试有效,有点区别的是dos界面不滚动显示遍历的过程了。大佬能指点下为什么原来22行这个输出语句不生效吗?
作者: ShowCode    时间: 2023-11-21 09:41

回复 3# Wayne9


13~26之间的代码是把待执行的ftp命令一行一行的写入文件%file%
它本身并不会输出到日志,甚至不会输出到屏幕。
只有当28行调用 ftp -v -n -s:%file% 的时候才会真正的被执行。
作者: Wayne9    时间: 2023-11-21 10:02

回复 4# ShowCode
多谢大佬指点!




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2