在工作中,我们有一个设置,将产品的源代码安装到驱动器号上,如果您想要不同的版本,则可以使用不同的驱动器。通过在 PATH 中添加类似“/Trunk/bin”的内容即可访问构建工具,因此无论您在哪个驱动器中,都可以使用该构建工具。这在 cmd.exe 中运行良好,但在 Powershell 中不起作用。有没有与 Powershell 兼容的方法来实现这一点?
编辑:根据要求,这是 Powershell 中 $env:PATH 的结果,其中我的用户名被一堆 eeeeeeee 替换掉了
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow;C:\Program Files (x86)\MSBuild\14.0\bin;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\;C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools;C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319;C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\VCPackages;C:\Program Files (x86)\HTML Help Workshop;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Performance Tools;C:\Program Files (x86)\Windows Kits\8.1\bin\x86;C:\Program文件(x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 工具\;C:\Applications\Cmder\bin;C:\Applications\Cmder\vendor\conemu-maximus5\ConEmu\Scripts;C:\Applications\Cmder\vendor\conemu-maximus5;C:\Applications\Cmder\vendor\conemu-maximus5\ConEmu;C:\ProgramData\Oracle\Java\javapath;C:\Python27\;C:\Python27\Scripts;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Windows\CCM;C:\Program Files(x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files\Microsoft SQL服务器\110\Tools\Binn\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\ProgramData\chocolatey\bin;C:\Program Files\dotnet\;C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\;C:\Program Files\Microsoft\Web 平台安装程序\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files (x86)\Microsoft Team Foundation Server 2015 Power Tools\;C:\Program Files (x86)\Xoreax\IncrediBuild;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Microsoft SQL服务器\120\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\ManagementStudio\;C:\Program Files (x86)\Microsoft SQL Server\120\DTS\Binn\;c:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn\;C:\Program Files (x86)\Microsoft SQL Server\Client SDK\ODBC\130\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\140\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\;C:\Program Files\Git\cmd;C:\Program文件\nodejs\;C:\Users\eeeeeeee\AppData\Local\Microsoft\WindowsApps;C:\Program Files\Microsoft VS Code\bin;C:\_TFS\bin;N:\Tools;C:\Program Files (x86) \RabbitMQ Server\rabbitmq_server-3.5.6\sbin;C:\Users\eeeeeeee\AppData\Roaming\npm;\Trunk\bin;
答案1
Powershell 将“\”视为对您操作的任何上下文的根目录的引用。因此,如果您使用标准提供程序(例如“c:\”),则“\”是 C: 的根目录。如果您使用证书存储提供程序(例如“cert:”),则“\”是用户和机器证书存储的位置容器。
Powershell 的另一个细微差别是它处理网络资源的方式。与使用标准提供程序相比,从文件系统提供程序(例如“filesystem:”)操作时,您通常会获得更大的成功。您还必须指定网络位置“\server\shareroot\etc”。您的路径变量需要反映映射位置(例如“Y:\Trunk\bin”)或网络位置(例如“\servername\folder\trunk\bin”)。
希望这可以帮助。