如何提高你使用windows的逼格(windows用成Linux的趕腳)
- 2020 年 4 月 18 日
- 筆記
- powershell, windows使用
一、準備工作
作為一個整潔而有內涵的人,電腦桌面一定要清潔
二、桌面整潔了,軟體怎麼打開呢?
方案一
方案二、敲重點
我們可以使用終端指令打開windows安裝的任意軟體:
打開Windows PowerShell 快捷鍵: win+x後按i;或者滑鼠右鍵點擊開始,選擇Windows PowerShell
複製如下程式碼
1 function run () { 2 param 3 ( 4 [Parameter(Mandatory = $true, ValueFromPipeline = $true)] 5 [string[]]$name 6 ) 7 function exec ([string]$name) { 8 $WshShell = New-Object -ComObject WScript.Shell 9 $UserLnkFolder = "$env:APPDATA\Microsoft\Windows\Start Menu\Programs" 10 $MachineLnkFolder = "$env:ProgramData\Microsoft\Windows\Start Menu\Programs" 11 $lnkList1 = Get-ChildItem -Path $UserLnkFolder -Filter *.lnk -Recurse 12 $lnkList2 = Get-ChildItem -Path $MachineLnkFolder -Filter *.lnk -Recurse 13 $lnkList = $lnkList1 + $lnkList2 14 $programPathList = @() 15 $programNameList = @() 16 foreach ($lnk in $lnkList) { 17 $LnkFilePath = $Lnk.FullName 18 $LnkShortcut = $WshShell.CreateShortcut($LnkFilePath) 19 $LnkTargetPath = $LnkShortcut.TargetPath 20 if (!([String]::IsNullOrEmpty($LnkTargetPath))) { 21 if (Test-Path -Path $LnkTargetPath) { 22 $CurrentProgramList = @() 23 $CurrentProgramList += Get-Item $LnkTargetPath 24 $CurrentProgramList += Get-Item $LnkFilePath 25 if (!($name.Contains('*'))) { 26 $name = "*$name*" 27 } 28 foreach ($program in $CurrentProgramList) { 29 if ($program.name -like $name -and $program -notin $programNameList) { 30 $programPathList += $LnkTargetPath 31 $programNameList += $program.name 32 } 33 } 34 } 35 } 36 } 37 38 $programPathList = $programPathList | Sort-Object -Unique 39 if ($programPathList -ne $null) { 40 if ($programPathList -isnot [array]) { 41 Invoke-Item $programPathList 42 } 43 else { 44 $selectedFile = @($programPathList | Out-GridView -Title 'Choose a program' -PassThru) 45 if ($selectedFile -ne $null) { 46 Invoke-Item $selectedFile 47 } 48 } 49 } 50 else { 51 Write-Output "The $name program dones't exist." 52 } 53 } 54 55 if ($name -isnot [array]) { 56 exec $name 57 } 58 else { 59 foreach ($i in $name) { 60 exec $i 61 } 62 } 63 }
回車,輸入 run+你想打開的軟鍵,這裡以qq為例
run qqs
#為啥不是run qq呢,原因如下圖,因為有歧義
但是這種做法,你的電腦一旦註銷或重啟就會失效,下次開機再執行run 指令就失效了,下面教大家一勞永逸的做法:
新建記事本文件,將上述程式碼保存成run.psm1文件
1、運行如下程式碼,設置模組路徑
$paths = (dir Env:\PSModulePath).Value.Split(";")
$paths
2、判斷是否創建,此時返回false,表示未創建路徑
Test-Path -Path $paths[0]
False
3、創建路徑
New-Item -Path $paths[0] -ItemType directory -Force
4、run.psm1
保存到C:\Users\luke\Documents\WindowsPowerShell\Modules\run\
5、執行以下程式碼,打開腳本執行許可權
Set-ExecutionPolicy unrestricted
6、win+x+a打開WindowsPowerShell管理員模式,執行以下程式碼,安裝module
Install-Module -Name run
7、檢查是否安裝成功
Get-Module -ListAvailable
8,測試打開酷狗聽歌慶祝一下
run kugou