具有类似rc的文件的PowerShell配置

时间:2012-08-27 13:44:41

标签: powershell windows-7 scripting

我要编写什么脚本以及在哪里定义:

  1. alias for ll="ls -l"
  2. alias/function cd = "original cd; ll"
  3. 所以,我的问题是如何将Windows 7上的Power Shell的rc文件放在哪里以及如何将ll别名ls -lcd添加到cd; ll

1 个答案:

答案 0 :(得分:12)

在键入$profile时,在电源外壳指向的位置创建一个文件,如果不存在则按Enter键。 (有关详细信息,请查看here。)

此外,我在系统powershell.exe旁边找到了很多很好的示例,其中有一个示例文件夹,其中有一个名为profile.ps1的文件,其中包含以下代码:

set-alias cat        get-content
set-alias cd         set-location
set-alias clear      clear-host
set-alias cp         copy-item
set-alias h          get-history
set-alias history    get-history
set-alias kill       stop-process
set-alias lp         out-printer
set-alias ls         get-childitem
set-alias mount      new-mshdrive
set-alias mv         move-item
set-alias popd       pop-location
set-alias ps         get-process
set-alias pushd      push-location
set-alias pwd        get-location
set-alias r          invoke-history
set-alias rm         remove-item
set-alias rmdir      remove-item
set-alias echo       write-output

set-alias cls        clear-host
set-alias chdir      set-location
set-alias copy       copy-item
set-alias del        remove-item
set-alias dir        get-childitem
set-alias erase      remove-item
set-alias move       move-item
set-alias rd         remove-item
set-alias ren        rename-item
set-alias set        set-variable
set-alias type       get-content

function help
{
    get-help $args[0] | out-host -paging
}

function man
{
    get-help $args[0] | out-host -paging
}

function mkdir
{
    new-item -type directory -path $args
}

function md
{
    new-item -type directory -path $args
}

function prompt
{
    "PS " + $(get-location) + "> "
}

& {
    for ($i = 0; $i -lt 26; $i++) 
    { 
        $funcname = ([System.Char]($i+65)) + ':'
        $str = "function global:$funcname { set-location $funcname } " 
        invoke-expression $str 
    }
}

还要考虑以下问题。执行$profile中的文件时可能会出现以下错误:

  

无法加载“Microsoft.PowerShell_profile.ps”,因为在此系统上禁用了脚本的执行。有关详细信息,请参阅“get-help about_signing”。

<强>解决方案: 检查当前的执行政策

PS C:\Windows\System32> Get-ExecutionPolicy
Restricted
PS C:\Windows\System32>

要更改执行策略以允许PowerShell从本地文件执行脚本,请运行以下命令:

PS C:\Windows\System32> Set-Executionpolicy RemoteSigned -Scope CurrentUser