如何通过编程或工具从启用目录列表的IIS服务器批量下载所有文件?
批量下载启用目录列表的IIS站点文件的方法
wget(命令行工具):这是批量下载的老牌工具,直接在命令行执行对应命令就能自动爬取目录里的所有文件。
示例命令:wget -r -np -nH --cut-dirs=1 http://你的IIS站点目录URL
参数说明:-r:递归下载目录下所有层级的文件-np:不爬取站点的上级目录,避免下载无关内容-nH:不创建以主机名命名的顶层文件夹,文件直接存到当前目录--cut-dirs=1:去掉URL里的一级目录层级,避免生成多余的嵌套文件夹
如果只想下载特定类型的文件,还可以加--accept=*.pdf,*.docx这类参数过滤。
Windows原生PowerShell脚本:不用额外装工具,写个简单脚本就能搞定:
# 替换成你的IIS站点目录地址 $baseUrl = "http://your-iis-site-url/directory" $webClient = New-Object System.Net.WebClient # 如果是HTTPS站点,添加下面这行兼容证书 # [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12 $htmlContent = $webClient.DownloadString($baseUrl) # 匹配目录列表里的文件链接 $fileMatches = [regex]::Matches($htmlContent, '<a href="([^"]+\.[^"]+)">') foreach ($match in $fileMatches) { $fileLink = $match.Groups[1].Value $fullFileUrl = $baseUrl.TrimEnd('/') + '/' + $fileLink $webClient.DownloadFile($fullFileUrl, $fileLink) }把
$baseUrl换成你的站点目录地址,保存成.ps1文件,右键用PowerShell运行即可。WinHTTrack(图形界面工具):适合喜欢可视化操作的用户,它原本是网站镜像工具,用来批量下载目录文件也很方便。
- 打开工具后新建项目,输入IIS站点目录的URL,设置好本地保存路径
- 进入“设置”面板,勾选“只下载指定目录下的内容”,避免爬取站点其他无关页面
- 启动抓取,工具会自动识别目录列表里的所有文件并批量下载到本地
内容的提问来源于stack exchange,提问作者wynnawinner
相关产品推荐
相关产品推荐

