gpt4 book ai didi

windows - 如何在 PowerShell 中使用 cmd 类型的管道 (/piping)?

转载 作者:可可西里 更新时间:2023-11-01 09:41:44 25 4
gpt4 key购买 nike

在 cmd(和 bash)中,管道“|”以第一个命令输出的原始格式(作为字符串)将输出推送到另一个命令。

在 PowerShell 中,从管道出来的所有东西都是对象(即使是字符串也是字符串对象)。

因此,某些命令在 PowerShell 命令窗口而不是 Windows 命令窗口中运行时会失败。

例子:

dir c:\windows | gzip > test.gz

当此命令在 Windows 命令提示符窗口中运行时,它可以正常工作 - C:\windows 的目录列表被压缩到 test.gz 文件中。

PowerShell 中的相同命令失败,因为 PowerShell 不使用 cmd 样式的管道并将其替换为 PowerShell 管道(使用文件系统项数组)。

问。如何禁用 PowerShell 中的默认管道行为以使传统的 Windows 命令在 PowerShell 中以相同的方式工作?

我尝试在管道“`|”之前使用转义字符“`”,但它不起作用。我还尝试了 invoke-expression -command "command with | here",但也失败了。

最佳答案

如果你想沿着管道发送字符串,你可以使用 cmdlet“out-string”

例如:

get-process | out-string

如果您专门寻找一种 PowerShell 方式来压缩文件,请查看 PowerShell 社区扩展。有很多 cmdlet 可以压缩和解压缩各种文件。

http://pscx.codeplex.com

关于windows - 如何在 PowerShell 中使用 cmd 类型的管道 (/piping)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5317269/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com