0

也许这特别是一个 perforce 问题,但我认为不是。至少,在某种程度上,它涉及 cmd.exe 和 powershell 之间的区别,涉及它如何将参数传递给命令行程序。

在 cmd.exe 提示符下发出的这个 perforce 命令有问题:

p4 文件 //this/that/*

因为需要很长时间才能响应。但是,如果我引用这样的路径:

p4 文件“//这个/那个/*”

反应是立竿见影的。但是,在 powershell 提示符下,引用路径并没有帮助。我找不到在 PS 提示符下得到快速响应的方法。所以 cmd.exe 和 powershell 调用应用程序的方式有一些区别。

不要被带有正斜杠的路径的形式分心。这是 p4 存储库中的路径,并不意味着被解释为文件系统路径。

4

1 回答 1

2

当参数不包含空格或以引号开头时,PowerShell 在将参数传递给本机应用程序时不会在参数周围添加引号。所以这个 PowerShell 命令:

p4 files "//this/that/*"

将导致此命令行:

p4 files //this/that/*

要解决您的问题,您需要在参数字符串中按字面意思添加引号:

p4 files '"//this/that/*"'

或者

p4 files `"//this/that/*`"

或者

p4 files """//this/that/*"""
于 2015-02-23T08:14:30.427 回答