我有大约3或4个目录,我经常在我的机器上,并且会喜欢一种轻松直接访问这些目录而不是总是打字的目录。经常使用的目录
我能想到的最好的方法是设置环境变量。但是,“cd env:”不起作用。
无论如何有任何想法的最佳方式来做到这一点?
* 编辑1 * 我希望,一旦我的会议接近我不会失去一个方法(例如,关闭PS窗口)。
我有大约3或4个目录,我经常在我的机器上,并且会喜欢一种轻松直接访问这些目录而不是总是打字的目录。经常使用的目录
我能想到的最好的方法是设置环境变量。但是,“cd env:”不起作用。
无论如何有任何想法的最佳方式来做到这一点?
* 编辑1 * 我希望,一旦我的会议接近我不会失去一个方法(例如,关闭PS窗口)。
您可以在指向各个文件夹的PowerShell profile脚本中创建一个HashTable
。然后,只需要用速记引用它们:
$FL = @{
Dir1 = 'c:\windows\system32'
Dir2 = 'c:\program files\Common Files'
Dir3 = 'C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys'
}
cd $FL.Dir1;
cd $FL.Dir2;
cd $FL.Dir3;
或者,你可以开发小功能,并将其放置在你的PowerShell配置文件脚本。
function sys32 {
[CmdletBinding()]
param()
Set-Location -Path 'c:\windows\system32';
}
function mkeys {
[CmdletBinding()]
param()
Set-Location -Path 'C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys';
}
function cf {
[CmdletBinding()]
param()
Set-Location -Path 'C:\Program Files\Common Files';
}
# Call the functions
sys32;
mkeys;
cf;
我用这种方法遇到的问题是一旦你关闭了PS,你就失去了HT。我希望能做一次,而不必担心每一次会议。 –
@Michael:如果你把它放在你的PowerShell配置文件脚本中,你不必担心每次重新定义它。这就是为什么我链接到PowerShell配置文件。 –
我错过了。我检查一下并尝试一下。 –
您可以为每一个在您的个人资料PS驱动:
New-PSDrive Dir1 -PSProvider FileSystem -Root 'c:\windows\system32'
New-PSDrive Dir2 -PSProvider FileSystem -Root 'c:\program files\Common Files'
New-PSDrive Dir3 -PSProvider FileSystem -Root 'C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys'
然后,只需CD或SL的驱动器名称:
cd dir1:
sl dir2:
使用记事本$获取您的个人资料从powershell内部配置文件。
将上述函数之一放在那里,然后重新启动powershell。
'功能专业{notepad.exe $配置文件}',只需键入'亲'并去。 –
一些读者可能更喜欢机器宽度超过每用户$profile
。如果是这样,请在此位置编辑或创建一个文件。
%windir%\system32\WindowsPowerShell\v1.0\profile.ps1
IIRC,它在用户配置文件加载之前运行,无论您决定的优势还是劣势。
我的答案适用于所有PowerShell会话,因为它是在PowerShell配置文件脚本中定义的。 –