我有一个批处理文件,允许我去特定的文件夹根据我的输入。
d:
cd d:\test\bits
@ECHO off
cls
:start
ECHO.
ECHO 1. Perl
ECHO 2. Python
set choice=
set /p choice=type in number to go to appropriate code folder:
if not '%choice%'=='' set choice=%choice:~0,1%
if '%choice%'=='1' goto pl
if '%choice%'=='2' goto py
ECHO "%choice%" is not valid, try again
ECHO.
goto start
:pl
cd code\pl
goto end
:py
cd code\py
goto end
:end
start "bits"
在执行结束时,会打开一个标题为“bits”的命令提示符窗口,该窗口位于与输入选项相对应的指定目录中。这一切都很好。但我希望在Powershell中也做同样的事情。
如果我在最后一行中输入start powershell
而不是start "bits"
,那么我可以打开Powershell控制台。
- Powershell控制台仍然在
d:\test\bits
文件夹中,而不是在我打算让它去的那个文件夹中。
1.我无法将标题设置为bits
如何使用Powershell获得我想要的功能?
2条答案
按热度按时间nbewdwxp1#
根据我的预期以及我能够使用脚本重现的结果,当前目录被设置为预期的目录(如果输入1,则为
d:\test\bits\code\pl
)对于标题部件,可以执行以下操作:
gcuhipw92#
如果你把这个添加到powershell profile.ps1中,你可以得到窗口标题来显示当前运行的脚本,如果你只是打开一个没有脚本的窗口,那么会显示“pwsh”。
将是系统性的,不需要在每个脚本的顶部添加一行。当从上下文菜单运行脚本时,与
$MyInvocation.MyCommand
组合的其他答案似乎给予了profile.ps1的名称。这也可以通过调整来改变结果。
可在PS 5和7上运行。对于版本5,请将
pwsh.dll
替换为powershell.exe