如何从文本文档中获取文件名,在Windows资源管理器中找到它们,然后将特定文件传输到另一个文件夹?

时间:2017-11-07 04:08:56

标签: windows file batch-file search autohotkey

我有一个.txt,包含900多个带有完整目录的图片文件名(例如:2017 / conference / tsd-60545)。

我的Windows资源管理器正从我公司的ftp中拔出,并且其中有超过160K的照片。

我只需要我的.txt文件中的900张图片。

有没有办法实现自动化?手册让我慢慢死了。

2 个答案:

答案 0 :(得分:0)

这会从ftp :: //ftp.mydomain.com/2017/conference/tsd-60545 下载所有jpgs

使用vim,awk或sed等工具,根据txt文件的内容创建一个名为“commands.ftp”的文件。然后使用带有选项ftp的windows -s命令来处理它。

<强> commands.ftp

open ftp.mydomain.com
user myusername mypassword
cd mysubdirectory
prompt
mget 2017/conference/tsd-60545/*.jpg
close
quit

批处理文件

ftp -s:commands.ftp -n

答案 1 :(得分:0)

这是未经测试的,因为我现在没有使用ftp服务器来测试它,但这应该可行。

创建一个.cmd.bat扩展名的批处理文件,确保您的测试文件位于同一目录中,或在批处理文件中指定它的完整路径。 基本上,您回显整个文件连接。运行for循环以从FTP文件中读取,并为文件中的每个条目执行getput。一旦完成,它将运行ftp命令并从文件中读取。

<强> MyFTPscript.cmd

@echo off
echo user username password> ftpto.dat
for /F "tokens=*" %%A in (myfile.txt) do echo get %%A >> ftpto.dat
echo quit>> ftpto.dat
ftp -n -s:ftpto.dat ftp.imagesserver.com

您可以先测试它,以确保它实际上是在写.dat文件,而不是在最后一个命令之前实际添加rem。像这样:

rem ftp -n -s:ftpto.dat ftp.imagesserver.com

如果您对dat文件的内容看起来没问题感到满意,可以删除rem并运行脚本,然后执行所有操作。

无需删除文件,因为每次运行命令文件时都会重新写入文件。