这里非常简单的问题,我想看看如何在命令行上使用foreach处理一堆命令(而不是通过PS1脚本)。
例如,我在控制台上显示目录列表,现在我想为每个对象执行2个命令。
Get-ChildItem | ForEach-Object { Write-Host $_ $_}
这没关系,它显示了两次文件名,但是我想说我想为同一个对象运行2个Write-Host命令,这可能在控制台上吗?
PS:我正在尝试使用out-file cmdlet将输出写入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 $_ }