When using square brackets in the OutFile parameter of the web cmdlets the square brackets in the path act as a wildcard option/range operator.
Hence any square brackets in the OutFile parameter causes an error for the cmdlets.
Personally, when downloading a file, I always use a literal path, instead of specifying a file with wildcard support.
I would like to start a discussion if it makes sense to treat the OutFile parameter as a literal path.
Any opinions on that?
Maybe someone could contribute scenarios where wildcard support makes sense.
Note: Of course there are several workarounds in PowerShell to overcome this minor lack of comfort.
Steps to reproduce
Invoke-WebRequest https://raw.githubusercontent.com/PowerShell/PowerShell/master/README.md -OutFile ReadMe[Powershell].md
Expected behavior
Creates a ReadMe[Powershell].md file in current directory.
Actual behavior
Invoke-WebRequest : Cannot perform operation because the wildcard path ReadMe[Powershell].md did not resolve to a file.
At line:1 char:1
+ Invoke-WebRequest https://raw.githubusercontent.com/PowerShell/PowerS ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OpenError: (ReadMe[Powershell].md:String) [Invoke-WebRequest], FileNotFoundException
+ FullyQualifiedErrorId : FileOpenFailure,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
Environment data
> $PSVersionTable
Name Value
---- -----
PSVersion 5.1.14393.693
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.14393.693
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
When using square brackets in the OutFile parameter of the web cmdlets the square brackets in the path act as a wildcard option/range operator.
Hence any square brackets in the OutFile parameter causes an error for the cmdlets.
Personally, when downloading a file, I always use a literal path, instead of specifying a file with wildcard support.
I would like to start a discussion if it makes sense to treat the OutFile parameter as a literal path.
Any opinions on that?
Maybe someone could contribute scenarios where wildcard support makes sense.
Note: Of course there are several workarounds in PowerShell to overcome this minor lack of comfort.
Steps to reproduce
Expected behavior
Creates a ReadMe[Powershell].md file in current directory.
Actual behavior
Environment data