Powershell将主机输出重定向到新文件中

Powershell将主机输出重定向到新文件中,powershell,powershell-2.0,powershell-3.0,powershell-4.0,Powershell,Powershell 2.0,Powershell 3.0,Powershell 4.0,执行命令后,我正在尝试将Powershell写入主机输出发送到新文件。此命令创建了一个空白文件 gci -r | % { Write-Host $_.Name,$_.FullName,$_.LastWriteTime } |ft -wrap | out-file output.txt 我希望文件名和文件完整路径和上次写入时间在像这样输出文件 不包括属性名称: Mode LastWriteTime Length Name ----

执行命令后,我正在尝试将Powershell
写入主机
输出发送到新文件。此命令创建了一个空白文件

gci -r | % { Write-Host $_.Name,$_.FullName,$_.LastWriteTime } |ft  -wrap | out-file output.txt
我希望
文件名
文件完整路径
上次写入时间
像这样输出文件

不包括属性名称:

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
Tuesday, March 9, 2021 1:14:42 AM
151104051548IMG_20151103_112015.jpg
O:\151104051548IMG_20151103_112015.jpg
Friday, March 12, 2021 8:40:15 PM
151104051558IMG_20151103_123234.jpg
O:\151104051558IMG_20151103_123234.jpg
Thursday, January 14, 2021 4:35:16 PM
151104051610IMG_20151103_123249.jpg
O:\151104051610IMG_20151103_123249.jpg
Thursday, January 14, 2021 4:35:16 PM
还使用另一个命令进行检查,该命令是
写入输出

gci -r | % { Write-Output $_.Name,$_.FullName,$_.LastWriteTime } >> output2.txt
此命令正在重定向输出,但输出格式不正确

输出文件:

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
Tuesday, March 9, 2021 1:14:42 AM
151104051548IMG_20151103_112015.jpg
O:\151104051548IMG_20151103_112015.jpg
Friday, March 12, 2021 8:40:15 PM
151104051558IMG_20151103_123234.jpg
O:\151104051558IMG_20151103_123234.jpg
Thursday, January 14, 2021 4:35:16 PM
151104051610IMG_20151103_123249.jpg
O:\151104051610IMG_20151103_123249.jpg
Thursday, January 14, 2021 4:35:16 PM
我也尝试过使用
Start Transcript
方法,但输出的格式不正确

启动成绩单输出文件

有没有办法解决这个问题

gci -r -file | % { "$($_.Name) $($_.FullName) $($_.LastWriteTime)" >> G:\Test\Output.txt } 
我添加了-file参数,因为不需要目录,因为它们包含在完整路径中

样本输出:

Get-FileMetaDataReturnObject.ps1 G:\BEKDocs\Scripts\Functions\Get-FileMetaDataReturnObject.ps1 09/20/2018 20:03:57
Get-InstalledSoftware.ps1 G:\BEKDocs\Scripts\Functions\Get-InstalledSoftware.ps1 05/02/2020 12:24:47
Invoke-ExerciseTimer.ps1 G:\BEKDocs\Scripts\Functions\Invoke-ExerciseTimer.ps1 01/19/2017 15:01:49
New-Shortcut.txt G:\BEKDocs\Scripts\Functions\New-Shortcut.txt 01/15/2017 11:50:33
Test-RoboForm-Function.ps1 G:\BEKDocs\Scripts\Functions\Test-RoboForm-Function.ps1 02/24/2021 20:32:25
Get-DisabledServicesV1-00.ps1 G:\BEKDocs\Scripts\Get-DisabledServices\Get-DisabledServicesV1-00.ps1 01/13/2018 16:39:09
Get-DisabledServicesV2-00.ps1 G:\BEKDocs\Scripts\Get-DisabledServices\Get-DisabledServicesV2-00.ps1 01/14/2018 12:31:56
Get-WinVer-V-2-0.ps1 G:\BEKDocs\Scripts\Get-WinVer\Get-WinVer-V-2-0.ps1 03/12/2019 21:14:37
Get-WinVer-V-3-0.ps1 G:\BEKDocs\Scripts\Get-WinVer\Get-WinVer-V-3-0.ps1 12/10/2019 20:03:38
Get-WinVer-V-3-1.ps1 G:\BEKDocs\Scripts\Get-WinVer\Get-WinVer-V-3-1.ps1 12/11/2019 09:17:17
Get-WinVer-V-3-2.ps1 G:\BEKDocs\Scripts\Get-WinVer\Get-WinVer-V-3-2.ps1 01/15/2020 20:53:11
我添加了-file参数,因为不需要目录,因为它们包含在完整路径中

样本输出:

Get-FileMetaDataReturnObject.ps1 G:\BEKDocs\Scripts\Functions\Get-FileMetaDataReturnObject.ps1 09/20/2018 20:03:57
Get-InstalledSoftware.ps1 G:\BEKDocs\Scripts\Functions\Get-InstalledSoftware.ps1 05/02/2020 12:24:47
Invoke-ExerciseTimer.ps1 G:\BEKDocs\Scripts\Functions\Invoke-ExerciseTimer.ps1 01/19/2017 15:01:49
New-Shortcut.txt G:\BEKDocs\Scripts\Functions\New-Shortcut.txt 01/15/2017 11:50:33
Test-RoboForm-Function.ps1 G:\BEKDocs\Scripts\Functions\Test-RoboForm-Function.ps1 02/24/2021 20:32:25
Get-DisabledServicesV1-00.ps1 G:\BEKDocs\Scripts\Get-DisabledServices\Get-DisabledServicesV1-00.ps1 01/13/2018 16:39:09
Get-DisabledServicesV2-00.ps1 G:\BEKDocs\Scripts\Get-DisabledServices\Get-DisabledServicesV2-00.ps1 01/14/2018 12:31:56
Get-WinVer-V-2-0.ps1 G:\BEKDocs\Scripts\Get-WinVer\Get-WinVer-V-2-0.ps1 03/12/2019 21:14:37
Get-WinVer-V-3-0.ps1 G:\BEKDocs\Scripts\Get-WinVer\Get-WinVer-V-3-0.ps1 12/10/2019 20:03:38
Get-WinVer-V-3-1.ps1 G:\BEKDocs\Scripts\Get-WinVer\Get-WinVer-V-3-1.ps1 12/11/2019 09:17:17
Get-WinVer-V-3-2.ps1 G:\BEKDocs\Scripts\Get-WinVer\Get-WinVer-V-3-2.ps1 01/15/2020 20:53:11

为什么不完全删除
Write Host
,直接将值写入文件
gci-r |%{$|.Name,$|.FullName,$|.LastWriteTime-join'}| Out File.\path\to\File.txt
非常感谢您的帮助gci-r | ft Name,FullName,LastWriteTime>>结果。txt@FletcherF1我只需要不带属性名称的值
Name
Full Name
Last Write Time
为什么不完全删除
Write Host
并直接将值写入文件
gci-r |%{$|.Name,$|.FullName,$|.LastWriteTime-join'}| Out File.\path\to\File.txt
非常感谢您的帮助gci-r | ft Name,FullName,LastWriteTime>>结果。txt@FletcherF1我只需要不带属性名的值
Name
Full Name
Last Write Time
这正是我想要的,但我不明白
-file
参数我建议将`>>G:\Test\Output.txt}`更改为
};设置内容G:\Test\Output.txt
,除非您真的这么做需要附加数据。否则,PowerShell必须在每次迭代
ForEach对象
循环时打开文件以写入、写入数据并关闭文件(每个传递给它的文件一次).这就是我想要的,但我不理解
-file
参数我建议将`>>G:\Test\Output.txt}`更改为
}|设置内容G:\Test\Output.txt
,除非您确实需要追加数据。否则,PowerShell必须在每次迭代
ForEach对象
循环时打开文件以写入、写入数据并关闭文件(每个传递给它的文件一次)。