我有一个PowerShell函数Download-File
,它使用WebClient.DownloadFile
--因此得名。
当我尝试将.ps1
脚本转换为.psm1
模块时,PowerShell警告我“下载”不在recommended verbs列表中。
有什么好的选择吗?Get-
似乎是关于获取属性,而不是内容(除了Get-Content
,奇怪的是)。Receive-
似乎有点太被动了,我不喜欢(即脚本阻塞,直到信息发送)--这不太合适。
想法?
我有一个PowerShell函数Download-File
,它使用WebClient.DownloadFile
--因此得名。
当我尝试将.ps1
脚本转换为.psm1
模块时,PowerShell警告我“下载”不在recommended verbs列表中。
有什么好的选择吗?Get-
似乎是关于获取属性,而不是内容(除了Get-Content
,奇怪的是)。Receive-
似乎有点太被动了,我不喜欢(即脚本阻塞,直到信息发送)--这不太合适。
想法?
7条答案
按热度按时间iovurdzv1#
对我来说,“Get”是最自然的动词。它获取一切,而不仅仅是属性。对于名词,我会使用“WebFile”,你可以很容易地猜到你得到了什么,它来自哪里。
i86rm4rw2#
这样不行吗:
字符串
或者按照同步操作的建议使用
Invoke-Download
。Start
用于异步操作。a5g8bdjr3#
我想我在这里找到了一个更好的答案。我知道这是一个旧的线程,但我不同意使用
Get
动词,如果你下载的文件将被存储在你的磁盘上。我认为Get
应该被保留用于真正的只读操作。从互联网上Get
一个文件并将其存储到内存中是可以的,这样你以后就可以对它做一些事情。但是当你把文件写到磁盘上的那一刻,它就不再是只读操作了。我认为
Save
可能是Download
的最佳通用替代品。这可能会产生类似于:
Save-WebFile -Uri $Uri
bzzcjhmw4#
完整的列表在这里:
下载没有 * 规定 * 的同义词。
Copy
是我找到的最接近的,被记录为未经批准的Clone
的同义词。还有
Read
,Save
,Sync
和一大堆其他的。fbcarpbf5#
什么是
New-Download
或New-WebDownload
或New-DownloadFile
?bhmjp9jg6#
也许
Request-TeamCityArtifacts
?plupiseo7#
按照
Invoke-WebRequest
的模式,我将使用Invoke-ArtifactsDownload
。保持名称紧凑并允许 * 一些 * 上下文来自模块名称是可以的。例如,我目前正在进行SharePoint集成,并且遇到了这个问题,因为我想命名一个用于下载列表项附件的函数。当
Get-PnPListItemAttachment
没有检索文件名但实际上下载文件到磁盘时,我感到困惑,所以Get
不符合我的期望,正如OP所说。然而,如果不知道库名称,PnP
的含义就不明显,而且在使用模块时,这种模糊性相当常见。