精华内容
下载资源
问答
  • Powershell下载文件的三种方法Invork-WebRequestWebClient对象BitsTransfer模块 layout: post title: Powershell下载文件的三种方法 date: 2021-09-29 tags: [“BitsTransfer”,“download”,“powershell”,...

    Powershell下载文件的三种方法


    layout: post
    title: Powershell下载文件的三种方法
    date: 2021-09-29
    tags: [“BitsTransfer”,“download”,“powershell”,“powershell”,“计算机技术”]


    使用powershell不借助第三方软件下载文件(据我所知)有三种方法:Invork-WebRequest, System.Net.WebClient, Start-BitsTransfer.

    Invork-WebRequest

    Invork-WebRequest -Uri "<File URL>" -OutFile "<File Name>"
    #吐槽一下这个Uri参数,不应该是Url吗?
    #该参数有几个别名,wget、iwr、curl,但在pwsh7.0后wget和curl被取消了,可能开发者也觉得这样凑热度不太好。
    iwr -Uri "<File URL>" -OutFile "<File Name>"
    

    这个命令本来是用于发起web请求的,用OutFile参数将响应保存下来就能实现文件的下载。

    不过这个命令下载文件时先将数据存在内存里,全部下载完成后才会写入磁盘,因此下载大文件时容易炸内存。

    值得一提的是该命令返回的对象是经过解析的Microsoft.PowerShell.Commands.WebResponseObject对象,可以直接读出页面中的内容,所以可以用来写一个简单的爬虫。

    PS> $bingImageSearch = Invoke-WebRequest -Uri "https://cn.bing.com/images/search?q=cats&first=1&tsc=ImageBasicHover"
    PS> $bingImageSearch.Images | select class,alt,src                                                          
    
    class              alt             src
    -----              ---             ---
    id_avatar sw_spd   个人资料图片    data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNgY...
    rms_img                            /rp/kFAqShRrnkQMbH6NYLBYoJ3lq9s.png
    fltIco rms_img     筛选器          data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTZweCIgaGVpZ2h0PSIxNHB4IiBmb2N1c2FibGU9I...
    fltFillIco rms_img 筛选器          data:image/svg+xml;base64,PHN2ZyBmb2N1c2FibGU9ImZhbHNlIiB4bWxucz0iaHR0cDovL3d3dy53M...
    mimg rms_img       cats 的图像结果 https://tse1-mm.cn.bing.net/th/id/OIP-C.C0bliNuG3LA1bDPoRTeAnwHaFj?w=191&h=143&c=7&...
    mimg rms_img       cats 的图像结果 https://tse3-mm.cn.bing.net/th/id/OIP-C.23-NBtgiB3zQCjz3qlD9YgHaLG?w=191&h=286&c=7&...
    mimg rms_img       cats 的图像结果 https://tse3-mm.cn.bing.net/th/id/OIP-C.Ftos_Tg660JqK0WpjPH-HQHaJ4?w=191&h=255&c=7&...
    ##此处省略多行
    
    PS>  $bingImageSearch.Links | select id,class,href 
    
    id                      class             href
    --                      -----             ----
                            b_logoArea        /?FORM=Z9FD1
    sw_clx                                    javascript:void(0);
                                              javascript:void(0);
    ##此处省略多行
    
    PS> $bingImageSearch.InputFields | Format-Table 
    
    outerHTML
    ---------
    <input class="b_searchbox" id="sb_form_q" name="q" aria-autocomplete="both" aria-label="在此处输入你的搜索 - 输入时会...
    <input type="submit" class="b_searchboxSubmit" id="sb_form_go" tabIndex="0" name="go" value="搜索" />
    <input id="sa_qs" name="qs" value="ds" type="hidden" />
    ##此处省略多行
    

    WebClient对象

    #实例化WebClient对象
    PS> $client = [System.Net.WebClient]::new()
    #调用DownLoadFile方法。
    PS> $client.DownloadFile("<File URL>","<File Name>")
    
    #该方法的重载:
    PS> $client.DownloadFile
    
    OverloadDefinitions
    -------------------
    void DownloadFile(string address, string fileName)
    void DownloadFile(uri address, string fileName)
    

    这种方法据说是速度最快的,虽然我没有实际实验过,但想想也是,毕竟直接调用库里的类就不需要解析响应也不需要在异步任务中排队,肯定速度快。很适合多线程的下载任务。

    不过这个方法也有缺点,下载过程没有进度条,不知道已经下载了多少。

    BitsTransfer模块

    这是我个人最为推荐的方法。

    Start-BitsTransfer -Source "<File URL>" -Destination "<File Name>"
    

    这个模块也是Windows Update用来下载更新的模块,能够实现异步下载(排队的那种,不是多线程),并且管理方便。

    可以上BitsTransfer Module ’ Microsoft Docs阅读完整的文档,这里只举几个例子。

    #下载多个文件
    PS> $list = @"  
    >> source,destination
    >> s1,d1
    >> s2,d2
    >> s3,d3
    >> "@ 
    PS> $list = $list | ConvertFrom-Csv
    PS> $list | Start-BitsTransfer
    
    #异步下载
    PS> Start-BitsTransfer -Source "<File URL>" -Destination "<File Name>" -Asynchronous
    PS> Get-BitsTransfer
    

    也可以用来上传文件。

    Start-BitsTransfer -Source "<Source>" -Destination "<Destination>" -TransferType Upload
    

    或者设置优先级,使其不会与正在进行的任务抢带宽。

    Start-BitsTransfer -Source "<Source>" -Destination "<Destination>" -Priority Low
    

    本文同步发表于我的个人博客NucomBlog
    转载请注明出处,谢谢。

    展开全文
  • Win10 PowerShell命令行下载文件 $client = new-object System.Net.WebClient $client.DownloadFile(...

    Win10 PowerShell命令行下载文件

    $client = new-object System.Net.WebClient
    $client.DownloadFile("https://win-web-nf01-sycdn.kuwo.cn/5a283dcc74917ac7f239e248ac8a273f/60223fba/resource/n3/43/20/838776709.mp3","D:/渐渐靠近你.mp3")

    PS D:\> dir


        目录: D:\


    Mode                 LastWriteTime         Length Name
    ----                 -------------         ------ ----
    -a----          2021/2/9     16:02        3449126 渐渐靠近你.mp3

    展开全文
  • 打开powershell的初衷是用.ps1脚本下载论文相关资料,但是完全没听说过这个东西,眼前一黑。 打开powershell 以我浅薄的知识储备,我将其理解为一个类似于cmd或者shell的一个命令行工具, 启动方式1 普通启动 按win+...

    打开powershell的初衷是用.ps1脚本下载论文相关资料,但是完全没听说过这个东西,眼前一黑。

    打开powershell

    以我浅薄的知识储备,我将其理解为一个类似于cmd或者shell的一个命令行工具,

    启动方式1 普通启动

    按win+r,输入powershell即可启动。
    在这里插入图片描述

    启动方式2 以管理员身份启动

    这种启动方式对于我这种小白来说很有用。
    在这里插入图片描述

    如何在powershell下运行脚本

    1.首先,查看你当前的安全策略,输入:

    Get-ExecutionPolicy -List
    

    通常我们的默认值都是restricted,意味着没有办法在此状态下运行脚本。

    2.更改当前的安全策略:

    我比较懒,没有研究其他类型的安全策略,我就直接改成了unrestricted,具体方法如图所示:
    此处注意,要用管理员权限打开powershell(如上所述的启动方式2)
    在这里插入图片描述
    输入命令如下所示:

    Set-ExecutionPolicy
    
    Unrestricted
    
    Y
    

    权限更改完毕。

    3.运行脚本

    用cd命令移动到你要运行脚本的目录下,直接输入脚本名字,即运行成功。
    例如:

    .\wenjianming.ps1
    

    4.ps1文件提示:远程服务器没有响应

    关于利用powershell进行文件下载,我的理解是一个写好的脚本,运行后自动到对应网址下载。

    在我自己实际下载中,偶尔需要翻墙,确定需不需要梯子最好的方式还是直接用记事本打开看一下.ps1文件内容。

    我遇到的情况是powershell运行.ps1文件后显示服务器没有响应,挂梯子也不行。
    于是我打开ps1文件内容,查看里面带的网址,在浏览器上一点一点下载到我需要的文件。(结果发现文件里其实只是onedrive链接,卡了我好几天真是吐槽不能)

    展开全文
  • powershell下载文件

    2020-10-24 12:48:06
    $client = new-object System.Net.WebClient $client.DownloadFile('https://xxxxxxxx.xxx','D:\xxxxx/xxxx.xxx')
    $client = new-object System.Net.WebClient
    $client.DownloadFile('https://xxxxxxxx.xxx','D:\xxxxx/xxxx.xxx')
    
    展开全文
  • 使用Windows的Powershell下载文件

    千次阅读 2016-11-02 16:25:02
    例如要将文件:http://www.51.cto.com/download/datainfo.cfg http://www.51.cto.com/download/ABK/full.ABK  http://www.51.cto.com/download/FIN/full.FIN http://www....
  • windows使用powershell批量下载文件 一.前言介绍 公司最近有个需求,阿里云上20多台windows服务器需要定期上传war包(每台要上传五个war包),如果手动操作需要重复差不多100次。 解决方案:首先我想到的是用...
  • 将以下脚本命名为test.ps1, 并在powershell下运行.\test.ps1即可。 #list all folder and file size of specific filepath folder function filesize ([string]$filepath) { if ($filepath -eq $null) { throw ...
  • windows下powershell实时查看日志文件内容
  • 用于查找和/或删除重复文件Powershell脚本 在Windows Powershell中发挥作用-它允许您在所有现代Windows计算机上运行脚本,而无需安装/导入任何内容。 注意力! 该脚本可以删除文件! 使用风险自负! 仅在了解脚本...
  • PowerShell-Docs:官方的PowerShell文档来源
  • 某段时间你可能需要经常去更改hosts...把下面的脚本添加到你的PowerShell Profile文件中,下次直接在PowerShel控制台中键入Edit-Hosts 或者 eh就可以打开Hosts文件了。 代码如下: Function Edit-Hosts {  Start-Pro
  • 我们要查看完整的PowerShell文件对象的属性,其实不需要去翻MSDN,然后把System.IO.FileInfo类的属性找出来,那样太麻烦了,而且貌似在PowerShell中,并不能完全按照.NET框架中提供的信息来操作。 在这里,小编介绍...
  • 批量文件下载PowerShell 版,类似于迅雷批量下载功能,且可以破解 Referer 防盗链 源代码 [int]$script:completed = 0 # 下载完成数量 [int]$script:succeed = 0 # 下载成功数量 # 开始下载(普通方法...
  • Powershell 目前在 GitHub 维护, 所以下载地址为 https://github.com/PowerShell/PowerShell/releases 转载于:https://www.cnblogs.com/imzhizi/p/10721386.html
  • 主要介绍了PowerShell实现批量重命名文件,本文直接给出实现代码,需要的朋友可以参考下
  • 本文介绍一个PowerShell命令,用于将某个目录或磁盘(如D盘)下占用空间最大的前几个文件。这个任务在其它编程语言中,可能要大段大段的代码,而在PowerShell中,我们只需要一行。 当我们发现某个盘空间不足时,作为...
  • 我们经常会有下载文件的需求,使用powershell下载文件时若使用Invoke-WebRequest下载文件它会不断解析文件流所以会导致卡慢,解决办法是在前面声明下载时保持“安静”,但是这不好记,也不符合人类的直接思维,还有...
  • PowerShell获取指定目录下文件列表和大小并保存成txt文档
  • .ps1文件PowerShell写好的脚本文件。在Windows系统中,默认情况下是不允许执行.ps1文件的,那么怎么才能让系统允许执行.ps1文件呢? 什么是“.ps1”文件? 这个是PowerShell写的脚本文本,你可以在记事本中写一段...
  • 本文介绍PowerShell中使用正则表达式的查找文件的方法,PowerShell的正则表达式与微软其它语言的正则表达式是一样的,使用非常方便。
  • 我们平时使用PowerShell的Remove-Item命令删除了文件,也是属于彻底删除。其实说真的,如果可以,我很想对招远快餐店的6名凶手,执行remove命令,不,直接kill命令。 那怎样在PowerShell中将文件安全地删除进回收站...
  • 主要介绍了PowerShell批量文件重命名操作实例,本文用一个简单例子来讲解批量重命名操作,需要的朋友可以参考下
  • 节点-PowerShell Node-PowerShell利用当今技术世界中存在的两个最简单,有效和简便的工具。 一方面, 在javascript领域掀起了一场革命,另一方面, 最近推出了最初的开源,跨平台版本,并将它们连接在一起,使您...
  • PowerShell脚本文件加密

    2016-08-18 17:08:08
    修正:“powershell脚本实例4个”里面那个随着powershell版本升级而出现的运行错误
  • 在cmd下 执行powershell,可能会出现禁止运行的策略, 运行如下命令: powershellset-executionpolicy remotesigned 然后运行: powershell Get-File.ps1 即可 转载于:...
  • 首先,我们将下载文件并将其存储在可访问的位置.其次,我们将使用我们成功安装所需的任何参数来运行可执行文件.步骤1:我们有两种方法来完成这项任务.第一种是使用Invoke-Webrequest.我们需要的唯一两个参数是.exe文件...
  • 本文介绍使用PowerShell如何来创建一个文本文件,并且文本文件是使用UTF-8编码的。 要创建一个UTF-8编码的文件,不是一件容易的事情。想一想C#中创建一个UTF-8编码的文件洪哥就头疼。 后来,仔细想了一下,我们可以...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 56,106
精华内容 22,442
关键字:

powershell文件下载