如何使用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
相关产品推荐
相关产品推荐

