D:\>C:
C:\Documents and Settings\leson>(cd /d D:\ & echo.) | echo.abc
abc
C:\Documents and Settings\leson>cd /d D:\ & echo.
D:\>
猜想是因为管道会开子SHELL,并非作用于本SHELL,
那如何规避呢?
例如想实现一个命令代理程序,当用户输入dir C:\WINDOWS\System32时会使用more方式显示,然后用户输入cd /d D:\命令时仍有效果。
set "cmd=dir C:\WINDOWS\System32"
%cmd% | more /c
set "cmd=cd /d D:\"
%cmd% | more /c
最后一个拼出的命令执行没有效果,如何规避实现,谢谢。