You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:编写可用的PowerShell联网检测与文件下载脚本

修复你的PowerShell网络检测与文件下载脚本

我帮你找出了原脚本里的几个关键问题,并且给出了修复后的完整版本,一起来看看:

原脚本的主要问题

  1. 空的if条件:你没有把Test-NetConnection的检测逻辑放进if()的括号里,导致脚本根本不知道该判断什么
  2. 错误的语法:fi是Bash等Shell的语法,PowerShell里不需要它,直接用}就能闭合if-else块
  3. 中文全角引号:脚本里的引号是中文的“”,PowerShell只能识别英文半角的""或'',这会直接导致语法错误
  4. 未正确判断检测结果:Test-NetConnection返回的是一个对象,你需要检查它的属性(比如TcpTestSucceeded)来确认网络是否连通

修复后的完整脚本(推荐版本)

这个版本用Test-NetConnection检测HTTP端口连通性,并且加入了错误捕获来处理下载过程中的异常:

# 检测到www.hawk.de的HTTP端口(80)是否连通
$connectionStatus = Test-NetConnection www.hawk.de -CommonTCPPort HTTP

if ($connectionStatus.TcpTestSucceeded) {
    try {
        # 初始化WebClient对象
        $webClient = New-Object System.Net.WebClient
        # 获取凭据(如果目标网站需要验证)
        $webClient.Credentials = Get-Credential
        # 下载文件,注意使用英文半角引号
        $webClient.DownloadFile(
            "https://www.mydomain.de/sites/default/files/styles/xs_12col_16_9_retina/public/DSC_6947.JPG",
            "C:\Users\Ole\Downloads\Github\bild.JPG"
        )
        Write-Host "文件下载完成!"
    }
    catch {
        # 捕获下载过程中的错误并提示
        Write-Host "下载失败:$($_.Exception.Message)"
    }
}
else {
    Write-Host "You are not connected with the internet"
}

另一种更轻量的检测方式

如果你的环境里Test-NetConnection受限(比如没有管理员权限),可以直接尝试发送一个Web请求来判断网络状态:

try {
    # 尝试访问目标网站,5秒超时,忽略返回内容
    Invoke-WebRequest -Uri "https://www.hawk.de" -UseBasicParsing -TimeoutSec 5 | Out-Null
    
    # 网络连通,执行下载
    $webClient = New-Object System.Net.WebClient
    $webClient.Credentials = Get-Credential
    $webClient.DownloadFile(
        "https://www.mydomain.de/sites/default/files/styles/xs_12col_16_9_retina/public/DSC_6947.JPG",
        "C:\Users\Ole\Downloads\Github\bild.JPG"
    )
    Write-Host "文件下载完成!"
}
catch {
    # 请求失败,说明未联网
    Write-Host "You are not connected with the internet"
}

关键说明

  • 用TcpTestSucceeded判断比Ping更准确:有些网络允许Ping但会阻止HTTP端口,检测TCP连接成功更能确保你能下载文件
  • try/catch块可以帮你捕获下载时的各种问题(比如权限不足、文件路径不存在、目标文件已删除等)
  • 一定要使用英文半角引号,PowerShell对符号的全半角非常敏感

内容的提问来源于stack exchange,提问作者Ole

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 21:19:09