小编mar*_*ind的帖子

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

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

在PowerShell中,管道中出现的所有内容都是一个对象(即使字符串是一个字符串对象).

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

例:

dir c:\windows | gzip > test.gz
Run Code Online (Sandbox Code Playgroud)

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

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

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

我尝试`在管道" `|" 之前使用转义字符" ",但它没有用.我也尝试过invoke-expression -command "command with | here",但也失败了.

windows powershell cmd pipe

3
推荐指数
1
解决办法
6797
查看次数

标签 统计

cmd ×1

pipe ×1

powershell ×1

windows ×1