我已经搜索过类似的东西,并且一直在浏览 FTP 下载答案。这是有用的信息,但最终证明难以翻译。我找到了一个 powershell 脚本并且它可以工作,但我想知道它是否可以根据我的需要进行调整。我对PowerShell脚本没有太多经验,但我正在努力学习。
需求是这样的。我需要在无人看管的情况下将一系列文件下载并安装到远程机器上。这些文件通过 tinyurls 通过电子邮件分发。我目前将它们放入 .txt 文件中,然后让 powershell 脚本读取列表并下载每个文件。
项目的要求以及我转向 powershell(而不是其他实用程序)的原因是这些都是非常专业的机器。唯一可用的工具是嵌入 Windows 7 的工具。
我遇到的困难是:文件一次下载一个。我想在 Web 服务器允许的同时获取尽可能多的下载。(通常为 6 个)
当前脚本基于 tinyurl 创建文件名。我需要来自网络服务器的实际文件名。
在此先感谢您的任何建议。
下面是我目前正在使用的脚本。
# Copyright (C) 2011 by David Wright (davidwright@digitalwindfire.com)
# All Rights Reserved.
# Redistribution and use in source and binary forms, with or without
# modification or permission, are permitted.
# Additional information available at http://www.digitalwindfire.com.
$folder = "d:\downloads\"
$userAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"
$web = New-Object System.Net.WebClient
$web.Headers.Add("user-agent", $userAgent)
Get-Content "d:\downloads\files.txt" |
Foreach-Object {
"Downloading " + $_
try {
$target = join-path $folder ([io.path]::getfilename($_))
$web.DownloadFile($_, $target)
} catch {
$_.Exception.Message
}
}