Entiendo que el punto y coma es un separador de comandos en Powershell. echo "hello"; dir
da esta salida.
PS C:\> echo "hello"; dir
hello
Directory: C:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2018-04-29 13:02 BCD_Backup
d----- 2018-12-02 14:08 Dell
<snip>
Pero, ¿por qué date; dir
da esta salida?
PS C:\> date; dir
Friday, December 14, 2018 11:14:23
PSPath : Microsoft.PowerShell.Core\FileSystem::C:\BCD_Backup
PSParentPath : Microsoft.PowerShell.Core\FileSystem::C:\
PSChildName : BCD_Backup
PSDrive : C
PSProvider : Microsoft.PowerShell.Core\FileSystem
PSIsContainer : True
Name : BCD_Backup
FullName : C:\BCD_Backup
Parent :
Exists : True
Root : C:\
Extension :
CreationTime : 2018-04-29 13:02:31
CreationTimeUtc : 2018-04-29 11:02:31
LastAccessTime : 2018-04-29 13:02:31
LastAccessTimeUtc : 2018-04-29 11:02:31
LastWriteTime : 2018-04-29 13:02:31
LastWriteTimeUtc : 2018-04-29 11:02:31
Attributes : Directory
Mode : d-----
BaseName : BCD_Backup
Target : {}
LinkType :
PSPath : Microsoft.PowerShell.Core\FileSystem::C:\Dell
PSParentPath : Microsoft.PowerShell.Core\FileSystem::C:\
<snip>
command-line
powershell
Michael Teter
fuente
fuente
date
. No es un alias ni un cmdlet o un archivo .exe (mismo problema en PSv6 BTW)Respuestas:
A medida que powershell ejecuta las declaraciones una por una, creo que aplica el formato de salida de la primera declaración a todas las declaraciones posteriores.
A medida que
Get-Date
devuelve un objeto deDateTime
tipo, se formatea como una lista, lo que afecta su salida 'dir'.Puede probar esta suposición cambiando el tipo de retorno de
Get-Date
a cadena usando la opción 'formato':(esto producirá una salida predeterminada para 'dir')
O cambiando el formato de salida predeterminado canalizándolo a
Format-Table
:fuente
Esto parece ocurrir solo cuando usa fecha; 'casi cualquier otra cosa después' que incluye otros cmdlets de PS (solo probé algunos).
'date' como se escribe parece estar llamando a Windows central (al igual que cmd.exe) para recuperar esa fecha, PowerShell está tratando de hacer algo con esa cadena que parece.
Si invierte esto, 'cualquier cosa aquí'; fecha, no exhibe esta rareza. Simplemente hace esto ...
fuente