根据记事本中的目录列表下载多个文件

时间:2012-10-22 01:43:55

标签: batch-file

如何使用批处理脚本在ftp中下载多个文件。我在记事本中有一个文件列表,其中包含确切的目录,我想迭代它们以下载每个文件。此外,应在下载时创建文件夹和子文件夹。

请帮忙。

1 个答案:

答案 0 :(得分:2)

使用FTP.exe的脚本功能。

将以下批处理文件与要下载的文件列表一起放入下载目录。将UserName更改为您将使用的用户名,将PassWord更改为您将使用的密码,ftp.site.com更改为您要下载的ftp网站的名称,以及filelist.txt使用文件的名称和路径保存要下载的文件列表。

makescript.bat

:: Set needed Variables
set ftpUserName=UserName
set ftpPassword=PassWord
set ftpSite=ftp.site.com
set filelist=filelist.txt
set script=script.txt

if exist script.txt del script.txt

:: Create Script
echo connect %ftpSite%>> %script%
echo %ftpUserName%>> %script%
echo %ftpPassWord%>> %script%

for /f "tokens=0" %%x in (%filelist%) do (
  echo cd %%~px>> %script%
  if "%%~xx"=="txt" (
    echo ascii>> %script%
  ) else (
    echo binary>> %script%
  )
  echo get %%~nxx>> %script%
)

echo quit>> %script%

以上假设路径或文件名中没有空格,并且包含要下载的文件的名称和路径的文件采用以下格式:

\path\to\file\file.exe

运行makescript.bat,然后输入或将以下行添加到批处理文件中:

ftp -s:script.txt

FTP将登录到ftp站点,发送用户名和密码,更改目录,然后下载文件,更改目录,然后下载另一个文件。这将重复,直到所有文件都已下载。