windows powershell 自定义命令

文章讲述了如何通过PowerShell自定义命令简化安卓APP的解包过程,克服cmd和doskey的限制,创建接受动态参数的函数,以提高工作效率。作者通过创建PowerShell配置文件Microsoft.PowerShell_profile.ps1并定义函数,实现了灵活处理不同数量参数的自定义解包命令。
摘要由CSDN通过智能技术生成

前要

情况简述(可直接跳转实现方法):

本人要执行如下命令,对安卓app进行解包。

java -jar D:\tools\ST-Android\APK-tools\apktool.jar d -[参数-可省略]  D:\路径\xx.apk

被解包的文件xx.apk路径会经常变化。这意味着,要解包apk文件,需要经历一下步骤,步骤繁多、严重影响生产效率。
(1)打开cmd。
(2)要先找到apktool路径
(3)再找到apk文件。
(4)拼接命令执行。
故此,本人考虑是否可以将 “java -jar D:\tools\ST-Android\APK-tools\apktool.jar” 定义为命令 “apktool” 。

#修改前命令:
	java -jar D:\tools\ST-Android\APK-tools\apktool.jar d -[参数-可省略]  D:\路径\xx.apk
	#修改后命令(在需要解包的apk文件目录下打开命令执行终端>>>按住shift键单机右键->在终端中打开or在此处打开powershll窗口):
	apktool d -[参数-可省略]  xx.apk

为了实现该功能,本人进行了以下尝试:

  1. 首先尝试cmd自定义命令,参考文章为[windows自定义快捷命令],没有成功,因为该方法主要起作用的命令doskey其功能为 用于重调以前输入的命令行,也就是说使用该方法无法接收参数
  2. 随后尝试powershell自定义命令,参考文章为[Windows Powershell 自定义命令简写(alias)],完美解决了不能接收参数的问题。但是问题又来了,里面给的示例只能接收固定数量的参数,不符合需求。看了一下这个powershell脚本,发这玩意儿主要是个函数就搜索了一下powershell函数,参考[PowerShell笔记-8.函数 - 百度文库]解决了参数数量变化的问题。
  3. 部分自定义也可以通过自定义环境变量来解决。比如说每次调用Java、Python、sqlmap等命令通过绝对路径来调用,那么可以将其绝对路径写入环境变量,即可在任何路径调用以上命令。详情参考文章[windows中将sqlmap添加到环境变量中(添加环境变量实现自定义命令)]。

以上查找思路描述,是想大家能够通过本人的思路,理清自己的需求,选自最适合自己的自定义命令方法。

参考文章:

windows自定义快捷命令(cmd-自定义命令)
Windows Powershell 自定义命令简写(alias)
PowerShell笔记-8.函数 - 百度文库
windows中将sqlmap添加到环境变量中(添加环境变量实现自定义命令)

实现方法

1.打开powershell,获取powershell配置文件的路径:

echo $PROFILE
#C:\Users\username\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

2.在C:\Users\username\Documents\创建WindowsPowerShell目录,在WindowsPowerShell下创建文件Microsoft.PowerShell_profile.ps1。
3.编写Microsoft.PowerShell_profile.ps1,关闭所有powershell界面,打开powershell执行自定义命令,效果如图

#---自定义不需要参数的命令
#function 自定义的命令 { 命令内容 }
#例如
function hi {echo hello world}
#---自定义需要固定数量的参数的命令
function ha(){
	  param([string] $name)
	  echo hello $name
}
#--自定义不确定数量的参数的命令
function hb(){
	  echo hello  $args
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值