使用 Powershell 下载和保存文件时是否可以使用通配符?

Is there a way to use wildcards when downloading and saving a file using Powershell?

我有一个 PowerShell 脚本,我每天早上都用它从 URL 下载文件,但是它开始每天都在上面加上日期,因此无法使用每天预定 PowerShell 下载它。

是否可以使用通配符使其获取所有日期?

$WebClient = New-Object System.Net.WebClient
$WebClient.DownloadFile("https://test.com/store/scheduled/320%2019.10.22.csv","\server\shared\Reports\RawData\Cross Selling Data.csv")

粗体部分是我在“320”之后寻找通配符的内容,因为这是报告编号,但在 .csv 之前。我试过 * 但这似乎不起作用。日期在每天的报告中明显不同。

谈到使用通配符,答案是。在发出 Web 请求时不可能使用通配符,因为它需要检查所有可能的路径。

如果您知道模式,则可以通过编程方式构建路径。例如,您的情况

# That input
PS> Get-Date -Format 'yy.MM.dd'
# Gives you the following result
19.10.22

这看起来与您在代码中包含的模式相似(我假设 %20 是 space)。要在字符串中使用它(假设您使用双引号 "),您可以使用以下内容:

"https://test.com/store/scheduled/320%20$(Get-Date -Format 'yy.MM.dd').csv"

最后但并非最不重要的一点,因为 @Tomalak mentioned in comments, Invoke-WebRequest 也可能适合您。