自定义炫酷powershell(美化)

  • linux上的bash和zsh之类的命令行终端炫酷无比。
  • window上的cmd和powershell丑的不忍直视。
  • 很久之前不知参考谁的一篇文章自定义了一下,还算勉强能看得过去。重装电脑时候发现了,便记录一下。
  • 自定义代码不怎么难,谁要是有时间精力去github上专门开一个项目,肯定能收获很多 star !!

怎么使用自定义配置文件不多说了,请看本文最后面,或者官方文档

https://technet.microsoft.com/zh-cn/library/bb613488

先看效果

直接上干货

#以后要 使用 ll 而不是 ls了。
set-alias ll Get-ChildItemColor  function prompt
{# $my_path 获取当前所在目录$my_path = $(get-location).toString()  $my_pos = ($my_path).LastIndexOf("\") + 1# 下面的 if-else 语句用来获得文件路径的最后一个目录名# 比如 c:/user/xiaoming   ,  则 $my_path_tail 的内容是 xiaoming # 主要为了命令行终端的提示简洁一些, 根据需要自己修改if( $my_pos -eq ($my_path).Length ) { $my_path_tail = $my_path }  else { $my_path_tail = ($my_path).SubString( $my_pos, ($my_path).Length - $my_pos ) }  # 下面一堆 write-host 定义了终端提示格式。Write-Host ("[") -nonewline -foregroundcolor 'Cyan'  Write-Host ("Blueky") -nonewline -foregroundcolor 'Cyan'  Write-Host (" @ ") -nonewline -foregroundcolor 'Cyan'  Write-Host ("WIN10 ") -nonewline -foregroundcolor 'Cyan'  Write-Host ($my_path_tail) -nonewline -foregroundcolor 'Cyan'  Write-Host ("]#") -nonewline -foregroundcolor 'Cyan'  return " "
}  function Get-ChildItemColor {
<#
.Synopsis  Returns childitems with colors by type.
.Description  This function wraps Get-ChildItem and tries to output the results  color-coded by type:  Directories - Cyan  Compressed - Red  Executables - Green  Text Files - Gray  Image Files - Magenta  Others - Gray
.ReturnValue  All objects returned by Get-ChildItem are passed down the pipeline  unmodified.
.Notes  NAME:      Get-ChildItemColor  AUTHOR:    blueky
#>  # 这个函数用来做正则匹配,并为不同的文件配置不同的颜色。$regex_opts = ([System.Text.RegularExpressions.RegexOptions]::IgnoreCase -bor [System.Text.RegularExpressions.RegexOptions]::Compiled)$fore = $Host.UI.RawUI.ForegroundColor  $compressed = New-Object System.Text.RegularExpressions.Regex(  '\.(zip|tar|gz|rar|7z|tgz|bz2)', $regex_opts)  $executable = New-Object System.Text.RegularExpressions.Regex(  '\.(exe|bat|cmd|py|pl|ps1|psm1|vbs|rb|reg|sh)', $regex_opts)  $text_files = New-Object System.Text.RegularExpressions.Regex(  '\.(txt|cfg|conf|ini|csv|log)', $regex_opts)  $image_files = New-Object System.Text.RegularExpressions.Regex(  '\.(bmp|jpg|png|gif|jpeg)', $regex_opts)  Invoke-Expression ("Get-ChildItem $args") |  %{  if ($_.GetType().Name -eq 'DirectoryInfo') { $Host.UI.RawUI.ForegroundColor = 'Cyan' }  elseif ($compressed.IsMatch($_.Name)) { $Host.UI.RawUI.ForegroundColor = 'Red' }  elseif ($executable.IsMatch($_.Name)) { $Host.UI.RawUI.ForegroundColor = 'Green' }  elseif ($text_files.IsMatch($_.Name)) { $Host.UI.RawUI.ForegroundColor = 'Gray' }  elseif ($image_files.IsMatch($_.Name)) { $Host.UI.RawUI.ForegroundColor = 'Magenta' }  else { $Host.UI.RawUI.ForegroundColor = 'Gray' }  echo $_  $Host.UI.RawUI.ForegroundColor = $fore  }
}  function Show-Color( [System.ConsoleColor] $color )
{  $fore = $Host.UI.RawUI.ForegroundColor  $Host.UI.RawUI.ForegroundColor = $color  echo ($color).toString()  $Host.UI.RawUI.ForegroundColor = $fore
}  # 在powershell终端里面输入 show-allcolor 就可以查看颜色,用来帮助自定义颜色主题
function Show-AllColor
{  Show-Color('Black')  Show-Color('DarkBlue')  Show-Color('DarkGreen')  Show-Color('DarkCyan')  Show-Color('DarkRed')  Show-Color('DarkMagenta')  Show-Color('DarkYellow')  Show-Color('Gray')  Show-Color('DarkGray')  Show-Color('Blue')  Show-Color('Green')  Show-Color('Cyan')  Show-Color('Red')  Show-Color('Magenta')  Show-Color('Yellow')  Show-Color('White')
}  
  • 我使用了“仅本用户”的配置文件,在我的文档–>>WindowsPowerShell文件夹下,配置文件的文件名叫Microsoft.PowerShell_profile.ps1
  • 把上面的代码放到配置文件里,重新启动powershell就好了。
  • 记得把powershell窗口的 属性–>颜色–>屏幕背景 颜色改成 48,9,36 (RGB: 48,9,36 是Ubuntu终端的背景色,这个看喜好修改。)

下面是有关powershell初始化配置文件(相当于.bashrc之类的)基础概括:

了解配置文件

在 Windows PowerShell 中可以有四个不同的配置文件。配置文件按加载顺序列出。较特定的配置文件优先于较不特定的配置文件(如果它们适用)。

  • %windir%\system32\WindowsPowerShell\v1.0\profile.ps1
    此配置文件适用于所有用户和所有 shell。

  • %windir%\system32\WindowsPowerShell\v1.0\ Microsoft.PowerShell_profile.ps1
    此配置文件适用于所有用户,但仅适用于 Microsoft.PowerShell shell。

  • %UserProfile%\My Documents\WindowsPowerShell\profile.ps1
    此配置文件仅适用于当前用户,但会影响所有 shell。

  • %UserProfile%\My Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
    此配置文件仅适用于当前用户和 Microsoft.PowerShell shell。

创建配置文件

在创建或者导入变量、别名或函数,或者添加 Windows PowerShell 管理单元时,这些元素只是添加到当前会话中。如果退出该会话或者关闭窗口,这些元素将丢失。

若要保存经常使用的变量、别名、函数和命令并使它们可以在每个 Windows PowerShell 会话中使用,请将它们添加到 Windows PowerShell 配置文件中。

还可以创建、共享和分发配置文件,以便在较大的企业中强制实施 Windows PowerShell 的统一视图。

Windows PowerShell 配置文件不是自动创建的。若要创建配置文件,请在指定位置中创建具有指定名称的文本文件。通常,将使用特定于用户、特定于 shell 的配置文件,这种配置文件称为 Windows PowerShell 用户配置文件。此配置文件的位置存储在 $profile 变量中。

若要显示 Windows PowerShell 配置文件的路径,请键入:

$profile

若要确定是否已经在系统上创建了 Windows PowerShell 配置文件,请键入:

test-path $profile

如果存在配置文件,则响应为 True:否则响应为 False

若要创建 Windows PowerShell 配置文件,请键入:

new-item -path $profile -itemtype file -force

若要在记事本中打开配置文件,请键入:

notepad $profile

若要创建其他配置文件之一,如适用于所有用户和所有 shell 的配置文件,请键入:

new-item -path $env:windir\System32\WindowsPowerShell\v1.0\profile.ps1 -itemtype file -force

仅当配置文件的路径和文件名与 profile变量中存储的路径和文件名完全一致时,配置文件才有效。因此,如果在记事本中创建一个配置文件并保存它,或者将一个配置文件复制到您的系统中,则一定要用profile 变量中存储的路径和文件名完全一致时,配置文件才有效。因此,如果在记事本中创建一个配置文件并保存它,或者将一个配置文件复制到您的系统中,则一定要用 profile 变量中指定的文件名将该文件保存到在此变量中指定的路径下。

如果在记事本中创建配置文件,请将文件名用引号括起来,以保留 PS1 文件扩展名。例如:

"Microsoft.PowerShell_profile.ps1"

如果没有引号,则记事本会将 .txt 文件扩展名追加到文件,而 Windows PowerShell 将无法识别它。

使用配置文件存储日常使用的别名、函数和变量。一个非常有用的函数会在您最喜爱的文本编辑器中打开用户配置文件。例如,以下命令会创建一个名为 pro 的函数,该函数用于在记事本中打开用户配置文件。

function pro { notepad $profile }

有了设计良好的配置文件,就可以更轻松地使用 Windows PowerShell 和管理系统

自定义炫酷powershell相关推荐

  1. 超酷的计步器APP(一)——炫酷功能实现,自定义水波纹特效、自定义炫酷开始按钮、属性动画的综合体验

    超酷的计步器APP(一)--炫酷功能实现,自定义水波纹特效.自定义炫酷开始按钮.属性动画的综合体验 好久没写博客了,没给大家分享技术了,真是有些惭愧.这段时间我在找工作,今年Android的行情也不怎 ...

  2. Android开发——自定义炫酷PickerView惯性滚动魔改

    Android开发--自定义炫酷PickerView快速滚动魔改 最近由于课内压力的增加和安卓课设项目,故没有怎么刷acm题,基本上学校要训练也就去水一波,程序设计相关内容也鸽了. 由于从来没有做过开 ...

  3. dismiss ios pop效果_iOS实现自定义炫酷的弹出视图(popView)

    "前段时间,在项目中有个需求是支付完成后,弹出红包,实现这么一个发红包的功能.做了最后,实现的效果大致如下:" ###一.使用方法 整个ViewController的代码大致如下 ...

  4. android自定义Drawable实现炫酷UI-锦鲤游泳效果

    一.实现效果: 当点击屏幕的时候,屏幕中的锦鲤会身体摆动并且游到屏幕点击处,如下图: 效果分析: 1.小鱼的身体各个部件都是简单的半透明几何图形. 2.各个部件都可以活动. 3.从头到尾方向的部件摆动 ...

  5. android炫酷的自定义view,Android自定义View实现炫酷进度条

    本文实例为大家分享了Android实现炫酷进度条的具体代码,供大家参考,具体内容如下 下面我们来实现如下效果: 第一步:创建attrs文件夹,自定义属性: 第二步:自定义View: /** * Cre ...

  6. 一个炫酷的仿雷达扫描和扩散效果——自定义View就是这么简单

    高仿雷达扫描效果和仿水波纹中心扩散效果,手把手教你撸一个炫酷的自定义view. 于亚豪的博客地址: blog.csdn.net/androidstar- 我们先看效果图吧 Markdown Markd ...

  7. android自定义图片过渡效果,教你做出炫酷的Android动画效果

    前言 Android动画也是Android系统中一个很重要的模块, 在平时开发中, 为了做出炫酷的效果, 动画可以说是必不可少的; 本文将总结Android中与动画相关的部分, 文中部分内容整理自文末 ...

  8. 自定义View-打造属于你的炫酷按钮

    自定义View-打造属于你的炫酷按钮 前言 Google I/O 2014 发布 Material Design ,最近也用了一下,给我的感觉就是简单而不失华丽,在Material Design我想用 ...

  9. ❤唯美满天星❤ html+css+js炫酷3D相册(含音乐/可自定义文字)程序员表白必备

    元旦节快到了,在跨年夜前夕.是不是要给女朋友或者正在追求的妹子一点小惊喜呢,今天这篇博客就分享下前端代码如何实现3D立体动态相册.赶紧学会了,来制作属于我们程序员的浪漫吧! ❤元旦节表白3D相册,在元 ...

最新文章

  1. 业界对生成图片缩略图的做法归纳
  2. 用好这 42 款 Chrome 插件,每年轻松省出一个年假(附下载)
  3. 关于c数据类型的范围
  4. 087_改变html
  5. 53-python界面-wxForm
  6. csr8670 修改key_CSR8670 DFU user guide
  7. w10自动删除文件怎么关了_绝地求生怎么删除新地图_删新沙漠地图文件办法
  8. 软件项目经理必备素质(转载)
  9. plsql 连接数据库无法解析指定的连接标识符
  10. 360 组织全局 HOOK 的 dll 加载
  11. JAVA new URL引起死机一例
  12. 好书分享:TP311.561《深度学习入门:基于python的理论与实现》[日] 斋藤康毅 著
  13. 学生管理系统IPO图_基于BIM技术的医院建筑运维管理系统构建
  14. mac系统如何连接服务器地址,mac如何远程连接服务器地址
  15. 删除安卓7.1源码中自带的Japanese IME输入法
  16. 谷歌云没有信用卡怎么注册服务器,谷歌云免费服务器申请方法
  17. PostgreSQL下载与安装(Windows版)
  18. Linux系统安装,教你安装一个属于自己的Linux系统
  19. java 文件目录操作_Java目录文件的操作 -解道Jdon
  20. ThreadX移植——STM32H7+MDK-AC6平台

热门文章

  1. 一个仿携程的移动端网站
  2. Monster Tower (堆 二分
  3. 台式计算机哪款好,2019台式电脑质量排行_台式电脑哪款好 2019十款热门台式电脑排行榜...
  4. autojspro常用的代码和公共函数搜集整理,史上最全最完整,不看后悔一辈子
  5. 2019 NCNA Contest 题解
  6. CPPcheck 配置
  7. PHP采集器querylist
  8. H264和音频流打包成PS流 (MPEG2-PS)
  9. React实现车牌号输入
  10. python用户名和密码登录_python实现用户登录