Windows终端无法通过脚本更改目录

问题描述 投票:0回答:1

我有文件assistant.cmd,位于内容的我的%path%之内

pushd m:\Documents\Code\assist

当我在Windows终端(新的)上键入辅助时,我得到:

PS C:\Users\User> assist

C:\Users\User>pushd m:\Documents\Code\assist
PS C:\Users\User>

当我自己复制推入的命令时,它可以工作,但在脚本中使用时不起作用。

有什么想法吗?

powershell windows-terminal
1个回答
0
投票

[启动BAT脚本“ assist.cmd”时,将启动一个新的子进程“ cmd.exe”。命令处理器执行BAT脚本,并且该进程的当前工作目录实际上已更改。此后,该过程将在BAT脚本完成后终止。

子进程的当前工作目录不会更改PowerShell进程的工作目录。这就是为什么.cmd脚本无法用于执行预期的帮助的原因。

您可以使用包含Push-Location或其别名pushd的PowerShell脚本“ assist.ps1”,并使用语法对其进行调用

. assist.ps1
© www.soinside.com 2019 - 2024. All rights reserved.