如何防止在 powershell shell 处使用通配符挂起。 (强制)
How to prevent hang with wildcard at powershell shell. (perforce)
也许这是一个特定的perforce问题,但我认为不是。至少,在某种程度上,它涉及 cmd.exe 和 powershell 之间的区别,涉及它如何将参数传递给命令行程序。
在 cmd.exe 提示符下发出的这个 perforce 命令有问题:
p4 个文件//this/that/*
因为需要很长时间才能回复。但是如果我引用这样的路径:
p4 文件“//this/that/*”
响应是即时的。但是,在 powershell 提示符下,引用路径无济于事。我找不到在 PS 提示符下获得快速响应的方法。因此,cmd.exe 和 powershell 调用应用程序的方式存在一些差异。
不要被带有正斜杠的路径形式分散注意力。这是 p4 存储库中的路径,并不意味着被解释为文件系统路径。
当参数不包含 space 或以引号开头时,PowerShell 在将参数传递给本机应用程序时不会在参数周围添加引号。所以这个 PowerShell 命令:
p4 files "//this/that/*"
将导致此命令行:
p4 files //this/that/*
要解决您的问题,您需要在参数字符串中按字面意思加上引号:
p4 files '"//this/that/*"'
或
p4 files `"//this/that/*`"
或
p4 files """//this/that/*"""
也许这是一个特定的perforce问题,但我认为不是。至少,在某种程度上,它涉及 cmd.exe 和 powershell 之间的区别,涉及它如何将参数传递给命令行程序。
在 cmd.exe 提示符下发出的这个 perforce 命令有问题:
p4 个文件//this/that/*
因为需要很长时间才能回复。但是如果我引用这样的路径:
p4 文件“//this/that/*”
响应是即时的。但是,在 powershell 提示符下,引用路径无济于事。我找不到在 PS 提示符下获得快速响应的方法。因此,cmd.exe 和 powershell 调用应用程序的方式存在一些差异。
不要被带有正斜杠的路径形式分散注意力。这是 p4 存储库中的路径,并不意味着被解释为文件系统路径。
当参数不包含 space 或以引号开头时,PowerShell 在将参数传递给本机应用程序时不会在参数周围添加引号。所以这个 PowerShell 命令:
p4 files "//this/that/*"
将导致此命令行:
p4 files //this/that/*
要解决您的问题,您需要在参数字符串中按字面意思加上引号:
p4 files '"//this/that/*"'
或
p4 files `"//this/that/*`"
或
p4 files """//this/that/*"""