【发布时间】:2020-04-22 16:12:42
【问题描述】:
在名称包含“[”的目录中使用 ForEach-Object -Parallel cmdlet 将返回 WildcardPatternException。去掉-Parallel,运行成功。
我创建了几个目录并运行了以下命令。1..5 | ForEach-Object -Parallel {Write-Host $_}
每个运行目录的返回差异如下。
PS D:\[example> 1..5 | ForEach-Object -Parallel {Write-Host $_}WildcardPatternException 将被返回。
PS D:\[]example> 1..5 | ForEach-Object -Parallel {Write-Host $_} PS D:\[ex]ample> 1..5 | ForEach-Object -Parallel {Write-Host $_}ItemNotFoundException 将被返回。
PS D:\[e]xample> 1..5 | ForEach-Object -Parallel {Write-Host $_} PS D:\]example> 1..5 | ForEach-Object -Parallel {Write-Host $_}运行成功,返回5个值。
有没有办法在不重命名目录的情况下解决这个问题?
【问题讨论】:
-
很好的发现,这肯定是一个错误(有人忘记在某处传递
true值以从字面上解释当前路径) -
Start-threadjob 有时会出错,有时会运行但没有输出。
-
如果您要使用大量的 powershell,我建议您重命名这些文件夹。
-
谢谢,我等v7.1。
标签: powershell powershell-core powershell-7.0