欢迎关注我的社交账号:

博客园地址: http://www.cnblogs.com/jiangxinnju/p/4781259.html

GitHub地址: https://github.com/jiangxincode

知乎地址: https://www.zhihu.com/people/jiangxinnju

在这几年的编程学习和工作中,我积累的许多轻量级的小工具,比如Everything,BeyondCompare,BatchRename、HperSnap等等,这些软件都是绿色软件,无需安装,即使重装系统也可以很容易的迁移。但是由于工具比较多,不可能在桌面上为这些工具全部设置快捷方式,于是只能使用命令行进行调用。程序员们应该都知道,如果想要在cmd或者powershell中调用这些小工具,就要把这些工具的可执行文件的所在目录添加到系统环境变量Path之中。但是这样手工去添加太麻烦了,因为要添加的目录比较多,而且之后如果还想加入新的工具就必须继续设置环境变量,最重要的一点是每次重装系统还要重新设置一遍。作为一个程序员怎么去做这么笨的事情呢?于是我写了一个powershell配置脚本,让powershell每次启动时都去读该脚本,设置环境变量。

首先介绍一下我的工具集的结构:

  • Tools/

    • ToolA.exe
    • ToolB.exe
    • ToolC.exe
    • ...
    • Toola/
      • Toolsa.exe
      • Toola工具的其它文件
    • Toolb/
      • Toolsb.exe
      • Toolb工具的其它文件
    • ...

下面是我的powershell脚本(profile.ps1):

# Put this profile file into %userprofile%\[My] Documents\WindowsPowerShell for only yoursef
# Put this profile file into $windir%\system32\WindowsPowerShell\v1.0 for every in your computer
# Set the $BasePath to the directory which your tools are placed $BasePath = new-object System.IO.DirectoryInfo "D:\software\tools" $Env:Path = $Env:Path + ":" + $BasePath Get-ChildItem $BasePath | ForEach-Object -Process { if($_ -is [System.IO.DirectoryInfo]) { $Env:Path=$Env:Path + ";" + $BasePath.FullName + "\" + $_.Name; }
}

另外这个脚本之后可能会添加一些其它功能,大家可以随时到我的github上看看:https://github.com/jiangxincode/data/blob/master/profile.ps1

最新文章

  1. lamp安装
  2. ApkTool反编译apk,去除广告或者汉化后重新打包apk,并签名
  3. 如何生成DLL文件
  4. Android Socket 聊天室示例
  5. git项目添加.gitigore文件
  6. 创建一个目录info,并在目录中创建一个文件test.txt,把该文件的信息读取出来,并显示出来
  7. java数据结构与算法值优先级队列
  8. iOS进阶面试题----经典10道
  9. mongo 初级使用
  10. Jsp与beetl的比较
  11. Docker镜像构建的两种方式(六)--技术流ken
  12. linux命令进阶
  13. 比较 Spring AOP 与 AspectJ
  14. [转]分别使用Node.js Express 和 Koa 做简单的登录页
  15. Centos 为Nginx 搭建https
  16. PTA 7-6 列出连通集(深搜+广搜)
  17. 终端简单使用 &vim编写代码
  18. 【COGS2479】 HZOI2016—偏序
  19. 关于事件冒泡和键盘事件 以及与Angular的区别
  20. Rsyslog日志服务搭建

热门文章

  1. asp.net MVC4 lognet4 日志
  2. ContentProvider官方教程(7)3种访问形式:批处理、异步访问、intent间接访问(临时URI权限)
  3. Maven项目的目录结构+maven的安装与配置
  4. HDU 5671 Matrix
  5. .Net面試4套
  6. CentOS系统下各文件夹的作用
  7. Python入门-引号
  8. POJ 3286 How many 0's?(几多0?)
  9. .NET/C# 使用Stopwatch测量运行时间
  10. CSS3关于transition过渡