Windows Powershell:更改目录的快捷方式

Xen*_*tar 11 shell powershell command-line command-line-interface

我刚开始使用Windows Powershell,我遇到的一个主要问题是当我启动它时,它会在这个目录中启动我:

C:\Users\Username
Run Code Online (Sandbox Code Playgroud)

但是,我通常需要导航到的目录是这样的:

C:\Users\Username\Dropbox\Websites\2014\Projects\ProjectName
Run Code Online (Sandbox Code Playgroud)

有时它会更深入.所以你可以看到每次使用十个单独的cd命令将shell启动到这个目录时导航是多么烦人.我想知道是否有办法为以下内容设置快捷方式或别名:

cd C:\Users\Username\Dropbox\Websites\2014\Projects\ProjectName
Run Code Online (Sandbox Code Playgroud)

或者我可能只设置一些目录的快捷方式,所以我可以这样做:

cd shortcut
Run Code Online (Sandbox Code Playgroud)

它会cd到正确的目录.有没有人有这样的经历?这是一件蠢事吗?我很擅长使用任何命令行,所以我只是习惯于更容易地浏览文件和文件夹.

Loï*_*HEL 14

new-psdrive是你的朋友:

New-PSDrive -Name docs -PSProvider FileSystem -Root "C:\Users\username\Documents"
cd docs:
Run Code Online (Sandbox Code Playgroud)


小智 13

还有另一种方法可以做到这一点:

function PP { cd C:\Users\Username\Dropbox\Websites\2014\Projects\ProjectName }

Set-Alias shortcut `PP`
Run Code Online (Sandbox Code Playgroud)

  • Set-Alias不是必需的.您只需输入'PP'即可执行该功能 (5认同)
  • 对于像我这样的人来说,这是迄今为止我发现的最佳答案.我不习惯把'cd`'变成别名,而是用来调用别名把我带到一个文件夹. (2认同)

bri*_*ist 10

在powershell中运行:

start notepad $profile
Run Code Online (Sandbox Code Playgroud)

这将在记事本中打开您的个人资料(如果记事本不存在,记事本将提示您创建它).

您在.ps1powershell启动时将执行您在此文件中编写的任何代码.

您还可以设置系统环境变量,就像您设置的那样MYPSPATH,C:\Users\Username\Dropbox\Websites\2014\Projects然后您可以这样做:

cd $env:MYPSPATH
Run Code Online (Sandbox Code Playgroud)

这可以每次手动完成,也可以自动完成$profile.

此外,你的问题还不清楚,但听起来你正在cd为每个路径组件做一个.

没有必要这样做.您希望这个命令:

cd C:\Users\Username\Dropbox\Websites\2014\Projects\ProjectName
Run Code Online (Sandbox Code Playgroud)

将按原样运作.如果我误解了这一点,我道歉.

也可能对你有用的东西pushd是别名Push-Location.这使您可以更改为新目录,并轻松恢复您开始使用的位置popdPop-Location.

PS C:\users\Xenostar> Push-Location .\Dropox\Websites\2014\Projects
PS C:\users\Xenostar\Dropbox\Websites\2014\Projects> Pop-Location
PS C:\users\Xenostar>
Run Code Online (Sandbox Code Playgroud)

你可以深入推进多个级别,并继续弹回以前的级别.