通过DOS获取FTP一个目录的文件列表

qq_30255557 2016-03-10 11:07:21
我想要知道通过DOS命令怎么获取FTP一个目录下面的所有的文件名,比如说远程FTP 为192.168.1.199 用用户密码已经知,我在FTP下面有一个目录 ABC 这个目录下面的文件名不定有A.txt,B.txt..........,然后名字是不确定的,是随机的,我怎么能遍历出所有的文件名生成一个Txt文件,然后保存到我当前的目录里面
...全文
1234 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
vansoft 2016-03-18
  • 打赏
  • 举报
回复
> c:\日志.txt 这个是结果重定向,就是输出到这个文件里。 然后你就解析这个文件。
一笑拔剑 2016-03-15
  • 打赏
  • 举报
回复
引用 8 楼 qq_30255557 的回复:
首先建立个文件比如1.txt,假设放在c盘下,内容为: open 180.178.57.244 用户 密码 dir /abc quit 然后批处理文件里写:ftp -s:c:\1.txt > c:\日志.txt 现在我Dir已经有返回结果了, 问题是怎么取得返回的结果呢
\ 去读取日志.txt啊 晕死 追加到那个文件了
赵4老师 2016-03-15
  • 打赏
  • 举报
回复
? dir
舉杯邀明月 2016-03-14
  • 打赏
  • 举报
回复
引用 7 楼 qq_30255557 的回复:
[quote=引用 3 楼 Chen8013 的回复:] [quote=引用 2 楼 sysdzw 的回复:] ftp和网络共享文件是两码事。 首先建立个文件比如1.txt,假设放在c盘下,内容为: open 180.178.57.244 用户 密码 dir /abc quit 然后批处理文件里写:ftp -s:c:\1.txt > c:\日志.txt 这样就得到结果了,用其他语言再筛选一遍
Mark ........ 1.txt 的第一条命令 open ,能解释一下用法么? 我刚试了一下,在DOS中不能执行open命令啊。[/quote] OPen 是可以打开一个FTP 下面就是输入用户和密码[/quote] 看到了 sysdzw 在5楼的回复,我已经知道是怎么回事了。
qq_30255557 2016-03-12
  • 打赏
  • 举报
回复
@echo off <"%~f0" more +4>t FTP -s:t exit/b open ip userID pwd dir quit 这个Dir是可以显示在屏幕上的,但是如果我用了Dir d:\d.txt 他d.txt是不会显示出来的,要怎么办
无·法 2016-03-12
  • 打赏
  • 举报
回复
引用 9 楼 qq_30255557 的回复:
@echo off <"%~f0" more +4>t FTP -s:t exit/b open ip userID pwd dir quit 这个Dir是可以显示在屏幕上的,但是如果我用了Dir d:\d.txt 他d.txt是不会显示出来的,要怎么办
你执行Dir d:\d.txt是什么意思? 是想把结果导出到d盘的d.txt中吗? 在cmd中将结果写入文件用的> 但是在fpt命令环境中是不行的。因为它不认识> 所以你你只能按照我在2楼说的办法,将整个ftp脚本交给ftp.exe命令执行的结果整个重定向到一个文件里。 然后再用字符串函数等等方法去分析。
qq_30255557 2016-03-12
  • 打赏
  • 举报
回复
首先建立个文件比如1.txt,假设放在c盘下,内容为: open 180.178.57.244 用户 密码 dir /abc quit 然后批处理文件里写:ftp -s:c:\1.txt > c:\日志.txt 现在我Dir已经有返回结果了, 问题是怎么取得返回的结果呢
qq_30255557 2016-03-12
  • 打赏
  • 举报
回复
引用 3 楼 Chen8013 的回复:
[quote=引用 2 楼 sysdzw 的回复:] ftp和网络共享文件是两码事。 首先建立个文件比如1.txt,假设放在c盘下,内容为: open 180.178.57.244 用户 密码 dir /abc quit 然后批处理文件里写:ftp -s:c:\1.txt > c:\日志.txt 这样就得到结果了,用其他语言再筛选一遍
Mark ........ 1.txt 的第一条命令 open ,能解释一下用法么? 我刚试了一下,在DOS中不能执行open命令啊。[/quote] OPen 是可以打开一个FTP 下面就是输入用户和密码
赵4老师 2016-03-11
  • 打赏
  • 举报
回复
我最近总是从眼里揉出一立方厘米的沙子!老眼昏花了。
舉杯邀明月 2016-03-11
  • 打赏
  • 举报
回复
引用 2 楼 sysdzw 的回复:
ftp和网络共享文件是两码事。 首先建立个文件比如1.txt,假设放在c盘下,内容为: open 180.178.57.244 用户 密码 dir /abc quit 然后批处理文件里写:ftp -s:c:\1.txt > c:\日志.txt 这样就得到结果了,用其他语言再筛选一遍
Mark ........ 1.txt 的第一条命令 open ,能解释一下用法么? 我刚试了一下,在DOS中不能执行open命令啊。
舉杯邀明月 2016-03-11
  • 打赏
  • 举报
回复
原来是要先执行fpt命令啊。  我先是在DOS下执行了 ftp /? 看了一下它的帮助信息, 然后,我就输入 open 让它执行………
无·法 2016-03-11
  • 打赏
  • 举报
回复
引用 3 楼 Chen8013 的回复:
[quote=引用 2 楼 sysdzw 的回复:]

ftp和网络共享文件是两码事。

首先建立个文件比如1.txt,假设放在c盘下,内容为:
open 180.178.57.244
用户
密码
dir /abc
quit

然后批处理文件里写:ftp -s:c:\1.txt > c:\日志.txt

这样就得到结果了,用其他语言再筛选一遍

Mark ........

1.txt 的第一条命令 open ,能解释一下用法么?
我刚试了一下,在DOS中不能执行open命令啊。[/quote]你得在dos里面先输入ftp然后回车。 接下来就可以用 ftp的一些命令了。 open只是ftp里面的一个命令而已。其他还有很多的。例如著名的pwd、cd等等

无·法 2016-03-10
  • 打赏
  • 举报
回复
引用 1 楼 zhao4zhong1 的回复:
仅供参考:
ServerShare = "\\192.168.3.56\d$"
UserName = "somedomain\someuser"
Password = "somepassword"

Set NetworkObject = CreateObject("WScript.Network")

NetworkObject.MapNetworkDrive "", ServerShare, False, UserName, Password

Set FSO = CreateObject("Scripting.FileSystemObject")
    Set Directory = FSO.GetFolder(ServerShare)
        For Each FileName In Directory.Files
            WScript.Echo FileName.Name
        Next
        Set FileName = Nothing
    Set Directory = Nothing
Set FSO = Nothing

NetworkObject.RemoveNetworkDrive ServerShare, True, False

Set NetworkObject = Nothing
ftp和网络共享文件是两码事。 首先建立个文件比如1.txt,假设放在c盘下,内容为: open 180.178.57.244 用户 密码 dir /abc quit 然后批处理文件里写:ftp -s:c:\1.txt > c:\日志.txt 这样就得到结果了,用其他语言再筛选一遍
赵4老师 2016-03-10
  • 打赏
  • 举报
回复
仅供参考:
ServerShare = "\\192.168.3.56\d$"
UserName = "somedomain\someuser"
Password = "somepassword"

Set NetworkObject = CreateObject("WScript.Network")

NetworkObject.MapNetworkDrive "", ServerShare, False, UserName, Password

Set FSO = CreateObject("Scripting.FileSystemObject")
    Set Directory = FSO.GetFolder(ServerShare)
        For Each FileName In Directory.Files
            WScript.Echo FileName.Name
        Next
        Set FileName = Nothing
    Set Directory = Nothing
Set FSO = Nothing

NetworkObject.RemoveNetworkDrive ServerShare, True, False

Set NetworkObject = Nothing

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧