両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン |
windows:powershell:commands:get-command [2020/03/25 15:06] – ともやん | windows:powershell:commands:get-command [2022/06/04 04:11] (現在) – ともやん |
---|
<html> | |
<style> | |
#result pre { | |
overflow: scroll; | |
overflow-x: hidden; | |
font-size: 10px; | |
} | |
#result_long pre { | |
height: 300px; | |
overflow: scroll; | |
overflow-x: hidden; | |
font-size: 10px; | |
} | |
</style> | |
</html> | |
====== Get-Command (alias: gcm) ====== | ====== Get-Command (alias: gcm) ====== |
現在のセッションで使用できるコマンドを取得する。\\ | 現在のセッションで使用できるコマンドを取得する。\\ |
\\ | |
**Windows 10**\\ | ===== which コマンド (Linux) としての利用 ===== |
\\ | **which** コマンドは、PATH に登録されているディレクトリにある実行可能ファイルを、PATH の登録順で最初に見つかったファイルだけを表示する。\\ |
which コマンドとして利用\\ | |
| Windows の PowerShell の場合。\\ |
| <WRAP prewrap 100%> |
<code powershell> | <code powershell> |
PS > Get-Command python | Select-Object Source | $ Get-Command python | Select-Object Source |
</code> | </code> |
| or |
| <code powershell> |
| $ gcm python | select Source |
| </code> |
| <WRAP> |
<WRAP prewrap 100% #result> | <WRAP prewrap 100% #result> |
<code powershell> | <code powershell> |
Source | Source |
------ | ------ |
C:\Python38\python.exe | C:\Users\tomoyan\scoop\apps\python\current\python.exe |
</code> | </code> |
| </WRAP> |
| |
PowerShell の Cmdlet などを調べる。\\ | Linux の [[linux:powershell|PowerShell]] では、**which** を使うこともできるし、**Get-Command (alias: gcm)** を使うこともできる。\\ |
| <WRAP prewrap 100%> |
<code powershell> | <code powershell> |
PS > Get-Command | $ which python |
| /usr/bin/python |
| |
| $ gcm python | select Source |
| |
| Source |
| ------ |
| /usr/bin/python |
| </code> |
| </WRAP> |
| |
| Windows のコマンドプロンプトでは、もともと **where** コマンドが使える🤔\\ |
| <WRAP prewrap 100%> |
| <code batch> |
| > where python |
| </code> |
| </WRAP> |
| <WRAP> |
| <WRAP prewrap 100% #result> |
| <code batch> |
| C:\Users\tomoyan\scoop\apps\python\current\python.exe |
| C:\Users\tomoyan\scoop\shims\python.exe |
| C:\Users\tomoyan\AppData\Local\Microsoft\WindowsApps\python.exe |
| </code> |
| </WRAP> |
| |
| しかし、Windows の PowerShell では、**where** コマンドは Alias の関係で使えない😅\\ |
| <WRAP prewrap 100%> |
| <code powershell> |
| $ where python |
| $ |
| </code> |
| </WRAP> |
| |
| Alias は **where** が **Where-Object** の別名になっているためである。(コマンドプロンプトのように PowerShell を利用すると混乱する😅💦)\\ |
| <WRAP prewrap 100%> |
| <code powershell> |
| $ gal where |
| </code> |
| </WRAP> |
| <WRAP prewrap 100% #result> |
| <code powershell> |
| |
| CommandType Name Version Source |
| ----------- ---- ------- ------ |
| Alias where -> Where-Object |
| </code> |
| </WRAP> |
| |
| Windows の PowerShell では、**where.exe** とすると使える🙄\\ |
| <WRAP prewrap 100%> |
| <code powershell> |
| $ where.exe python |
| </code> |
| </WRAP> |
| <WRAP prewrap 100% #result> |
| <code powershell> |
| C:\Users\tomoyan\scoop\apps\python\current\python.exe |
| C:\Users\tomoyan\scoop\shims\python.exe |
| C:\Users\tomoyan\AppData\Local\Microsoft\WindowsApps\python.exe |
| </code> |
| </WRAP> |
| |
| Windows の **where** コマンドは、以下に存在している🤯\\ |
| <WRAP prewrap 100%> |
| <code powershell> |
| $ gcm where.exe |
| </code> |
| </WRAP> |
| <WRAP prewrap 100% #result> |
| <code powershell> |
| |
| CommandType Name Version Source |
| ----------- ---- ------- ------ |
| Application where.exe 10.0.2020… C:\WINDOWS\system32\where.exe |
| </code> |
| </WRAP> |
| |
| Windows の PowerShell で **where** コマンドは容量だけ食って使い物にならなくなった😒ので、**where.exe** の別名として **which** を登録しておくと良い😁\\ |
| <WRAP prewrap 100%> |
| <code powershell> |
| $ echo "sal which where.exe" >> $profile |
| $ . $profile |
| $ which python |
| </code> |
| </WRAP> |
| <WRAP prewrap 100% #result> |
| <code powershell> |
| C:\Users\tomoyan\scoop\apps\python\current\python.exe |
| C:\Users\tomoyan\scoop\shims\python.exe |
| C:\Users\tomoyan\AppData\Local\Microsoft\WindowsApps\python.exe |
| </code> |
| </WRAP> |
| |
| もしくは、[[windows:scoop|Scoop]] の [[windows:gow|Gow]] または [[windows:busybox|BusyBox]] をインストールすると **which** コマンドが使えるようになる😍\\ |
| [[windows:gow|Gow (Gnu On Windows) - Linux コマンド群 (Cygwin 軽量版)]]\\ |
| [[windows:busybox|BusyBox - UNIXコマンド詰め合わせセット🤤]]\\ |
| |
| ===== Windows 10 ===== |
| PowerShell の Cmdlet, Function, Alias などを調べる。\\ |
| <code powershell> |
| $ gcm Get-Command |
| </code> |
| <WRAP prewrap 100% #result> |
| <code powershell> |
| |
| CommandType Name Version Source |
| ----------- ---- ------- ------ |
| Cmdlet Get-Command 7.0.3.0 Microsoft.PowerShell.Core |
| |
| </code> |
| </WRAP> |
| |
| PowerShell モジュール内のコマンドを一覧する。\\ |
| <code powershell> |
| $ gcm -Module Microsoft.PowerShell.Management |
| </code> |
| <WRAP prewrap 100% #result_long> |
| <code powershell> |
| |
| CommandType Name Version Source |
| ----------- ---- ------- ------ |
| Cmdlet Add-Content 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Clear-Content 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Clear-Item 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Clear-ItemProperty 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Clear-RecycleBin 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Convert-Path 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Copy-Item 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Copy-ItemProperty 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Debug-Process 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Get-ChildItem 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Get-Clipboard 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Get-ComputerInfo 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Get-Content 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Get-HotFix 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Get-Item 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Get-ItemProperty 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Get-ItemPropertyValue 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Get-Location 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Get-Process 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Get-PSDrive 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Get-PSProvider 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Get-Service 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Get-TimeZone 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Invoke-Item 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Join-Path 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Move-Item 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Move-ItemProperty 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet New-Item 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet New-ItemProperty 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet New-PSDrive 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet New-Service 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Pop-Location 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Push-Location 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Remove-Item 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Remove-ItemProperty 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Remove-PSDrive 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Remove-Service 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Rename-Computer 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Rename-Item 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Rename-ItemProperty 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Resolve-Path 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Restart-Computer 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Restart-Service 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Resume-Service 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Set-Clipboard 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Set-Content 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Set-Item 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Set-ItemProperty 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Set-Location 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Set-Service 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Set-TimeZone 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Split-Path 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Start-Process 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Start-Service 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Stop-Computer 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Stop-Process 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Stop-Service 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Suspend-Service 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Test-Connection 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Test-Path 7.0.0.0 Microsoft.PowerShell.Management |
| Cmdlet Wait-Process 7.0.0.0 Microsoft.PowerShell.Management |
| |
| </code> |
| </WRAP> |
| |
| <code powershell> |
| $ gcm |
</code> | </code> |
<WRAP prewrap 100% #result_long> | <WRAP prewrap 100% #result_long> |
</WRAP> | </WRAP> |
| |
**Fedora 31**\\ | ===== Fedora 31 ===== |
<code powershell> | <code powershell> |
PS > Get-Command | PS > Get-Command |
</code> | </code> |
</WRAP> | </WRAP> |
| |
| ===== 参考文献 ===== |
| [[https://docs.microsoft.com/ja-jp/powershell/module/microsoft.powershell.core/get-command|Get-Command (Microsoft.PowerShell.Core) - PowerShell | Microsoft Docs]]\\ |
| |