使用PowerShell简化我的工作
2024-10-13 21:20:42
欢迎关注我的社交账号:
博客园地址: 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
最新文章
- lamp安装
- ApkTool反编译apk,去除广告或者汉化后重新打包apk,并签名
- 如何生成DLL文件
- Android Socket 聊天室示例
- git项目添加.gitigore文件
- 创建一个目录info,并在目录中创建一个文件test.txt,把该文件的信息读取出来,并显示出来
- java数据结构与算法值优先级队列
- iOS进阶面试题----经典10道
- mongo 初级使用
- Jsp与beetl的比较
- Docker镜像构建的两种方式(六)--技术流ken
- linux命令进阶
- 比较 Spring AOP 与 AspectJ
- [转]分别使用Node.js Express 和 Koa 做简单的登录页
- Centos 为Nginx 搭建https
- PTA 7-6 列出连通集(深搜+广搜)
- 终端简单使用 &;vim编写代码
- 【COGS2479】 HZOI2016—偏序
- 关于事件冒泡和键盘事件 以及与Angular的区别
- Rsyslog日志服务搭建
热门文章
- asp.net MVC4 lognet4 日志
- ContentProvider官方教程(7)3种访问形式:批处理、异步访问、intent间接访问(临时URI权限)
- Maven项目的目录结构+maven的安装与配置
- HDU 5671 Matrix
- .Net面試4套
- CentOS系统下各文件夹的作用
- Python入门-引号
- POJ 3286 How many 0's?(几多0?)
- .NET/C# 使用Stopwatch测量运行时间
- CSS3关于transition过渡