Reputation: 23483
I have the following script:
if( $timeout -ne $null )
{
& $var$timeout 2>&1 > $logDir\$logName
}
else
{
& $var2>&1 > $logDir\$logName
}
I'm curious about what 2>&1
is; or, what it represents. I don't know what it's called, otherwise, I'd look it up.
Upvotes: 38
Views: 40916
Reputation: 16792
The docs are your friends. From PS> man about_Redirection
The Windows PowerShell redirection operators are as follows.
Operator Description Example
-------- ---------------------- ------------------------------
<snip>
2>&1 Sends errors (2) and Get-Process none, Powershell 2>&1
success output (1)
to the success
output stream.
<snip>
The syntax of the redirection operators is as follows:
<input> <operator> [<path>\]<file>
If the specified file already exists, the redirection operators that do not
append data (> and n>) overwrite the current contents of the file without
warning. However, if the file is a read-only, hidden, or system file, the
redirection fails. The append redirection operators (>> and n>>) do not
write to a read-only file, but they append content to a system or hidden
file.
Upvotes: 34
Reputation: 62472
It redirects standard error (the 2) to the same place as standard output (the 1)
Upvotes: 44