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

如何使用PowerShell从链接中获取文件格式并自动匹配保存

PowerShell 网络文件下载工具实现

初始版本代码

cls

$url = Read-Host 'URL'
if ( $url -eq "")
{
    exit
}

[void][System.Reflection.Assembly]::LoadWithPartialName("System.windows.Forms")

function save-file([string]$initialDirectory)
{
    $savefile = New-Object System.Windows.Forms.SaveFileDialog

    $savefile.InitialDirectory = $initialDirectory
    $savefile.Filter="All files(*.*)|*.*"

    $savefile.ShowDialog() | out-null

    return $savefile.FileName

}

$file=save-file ""

if ( $file -eq "")
{
    exit
}
else
{
    echo "User Selected $file"
}

Invoke-WebRequest -Uri "$url" -OutFile "$file"

项目思路:这是一款基于PowerShell开发的网络文件下载程序,目前可读取用户输入的URL,调用系统保存文件对话框选择存储路径后通过Invoke-WebRequest下载对应文件。
需求优化方向:希望下载的文件可以自动匹配链接对应的文件格式作为默认保存扩展名。

请问是否可以通过PowerShell或者CMD实现从URL链接中提取文件格式的需求?

我已经找到对应的解决方案,现将完整项目代码放出,方便有需要的开发者参考使用:

优化后版本代码(支持自动匹配文件扩展名)

cls

$url = Read-Host 'URL'
if ( $url -eq "")
{
    exit
}

$dot = $url.Split(".")[-1]

[void][System.Reflection.Assembly]::LoadWithPartialName("System.windows.Forms")

function save-file([string]$initialDirectory)
{
    $savefile = New-Object System.Windows.Forms.SaveFileDialog

    $savefile.InitialDirectory = $initialDirectory
    $savefile.Filter="$dot file(*.$dot)|*.$dot"

    $savefile.ShowDialog() | out-null

    return $savefile.FileName

}

$file=save-file ""

if ( $file -eq "")
{
    exit
}
else
{
    echo "User Selected $file"
}

Invoke-WebRequest -Uri "$url" -OutFile "$file"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 06:36:03