我有文件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>
当我自己复制推入的命令时,它可以工作,但在脚本中使用时不起作用。
有什么想法吗?
[启动BAT脚本“ assist.cmd”时,将启动一个新的子进程“ cmd.exe”。命令处理器执行BAT脚本,并且该进程的当前工作目录实际上已更改。此后,该过程将在BAT脚本完成后终止。
子进程的当前工作目录不会更改PowerShell进程的工作目录。这就是为什么.cmd脚本无法用于执行预期的帮助的原因。
您可以使用包含Push-Location
或其别名pushd
的PowerShell脚本“ assist.ps1”,并使用语法对其进行调用
. assist.ps1