在控制台上的Powershell中的Foreach循环

时间:2013-06-07 14:39:06

标签: powershell

这里非常简单的问题,我想看看如何在命令行上使用foreach处理一堆命令(而不是通过PS1脚本)。

例如,我在控制台上显示目录列表,现在我想为每个对象执行2个命令。

Get-ChildItem | ForEach-Object { Write-Host $_ $_}

这没关系,它显示了两次文件名,但是我想说我想为同一个对象运行2个Write-Host命令,这可能在控制台上吗?

PS:我正在尝试使用out-file cmdlet将输出写入2个文件,因此我可以读取某些内容,并且每个对象有2个单独的文件外调用

谢谢

2 个答案:

答案 0 :(得分:6)

您可以像在PowerShell文件中一样在控制台窗口中编写脚本。使用“`”(反引号)键分隔行。 e.g:

PS > Write-Host `
>>> hello, world!

所以你可以做到

PS > Get-ChildItem | ForEach-Object { `
>>>    Write-Host $_ `
>>>    doFoo() `
>>>    doBar() `
>>> ` }

答案 1 :(得分:5)

基本上你想在ForEach-Object语句中执行2个命令,对吧? 只需使用;以这种方式分隔命令ForEach-Object { command1; command2 }

在你的代码中它应该是这样的

Get-ChildItem | ForEach-Object { Write-Host $_; Write-Host $_ }