utools已經夠強大了,不過對於我來說,它還是有很多」硬貨「沒法直接幹。比如**的相關處理等。而要處理這些東西,免不了就會涉及到很多諸如ffmpeg等強大的工具。但是使用這些工具就會和utools的使用的體驗有割裂感。並且這些工具會面臨乙個跨裝置使用的問題,每次跨裝置可能需要重新配置。
所以今天我就來談談我的一種解決方案。它無縫的將utools和這些強大工具融合起來,並且具有良好的跨裝置特性。切換乙個裝置環境,也只需幾分鐘配置,就可以獲得乙個幾乎一致的使用體驗。
原理:其實很簡單。整個框架包含三個部分:資料目錄,工具目錄,utools。
資料目錄:資料目錄負責存放一些配置檔案,使用git來管理。便於快速的在不同裝置之間同步。比如我寫的乙個用來一鍵抓取網頁內容的快捷命令,便可以將各個網頁的抓取規則以配置檔案放在資料目錄裡。目錄包含乙個配置指令碼,便於將該目錄寫入環境變數。
工具目錄:工具目錄用於存放各種工具,可以是現成的強大工具(如:ffmpeg),也可以是自己寫的。但是要求這些工具最好支援命令列操作。該目錄同樣也包含了自動配置環境變數的工具。
utools:utools裡需要先安裝」快捷命令」外掛程式,它提供了強大的指令碼和ui支援。通過utools,我可以通過環境變數呼叫工具目錄的工具和資料目錄裡的配置檔案,從而方便快捷的實現各種方便強大的功能。
如上圖,這裡面是我預設放的一些工具(當然後來又新增了一些自己寫的命令列工具)。
這裡面還放了個」setenv2.ps1「檔案。這個檔案比較關鍵:它主要將該工具目錄路徑寫入環境變數和一些其它的初始化工作。**示例如下:
#設定指令碼當前目錄為環境變數
$script_dir = split-path
-parent $myinvocation
.mycommand.definition
[system.environment]::setenvironmentvariable(
"utoolscoreassets"
,$script_dir
,"machine"
)write-host
"environment variable to complete!"
#idm綠化
.\idm\green.bat
write-host
"idm afforestation finish"
#提示write-host
資料目錄主要存放配置檔案和自己寫的一些庫檔案。如上圖的python庫檔案以及一些配置檔案。這些檔案是經常需要更新的,所以採用git維護,便於跨裝置快速同步。目錄同樣包含了乙個」setenv2.ps1「指令碼來寫入環境變數:
#設定指令碼當前目錄為環境變數
$parent_dir = split-path
-parent $myinvocation
.mycommand.definition
$python_scripts_dir = $parent_dir
+"/scripts"
[system.environment]::setenvironmentvariable(
"utoolscoredata"
,$parent_dir
,"machine"
)#設定自己的python庫目錄,這樣就可以在python指令碼裡直接引用自己的庫了
[system.environment]::setenvironmentvariable(
"pythonpath"
,$python_scripts_dir
,"machine"
)
import os
import json
import subprocess
#utoolscoreassets為工具目錄,utoolscoredata為資料目錄
mpc_path =
'%s/%s'
%(os.environ[
'utoolscoreassets'],
'mpc-hc/mpc-hc64.exe'
)data_path =
'%s/%s'
%(os.environ[
'utoolscoredata'],
'data/path.json'
)with
open
(data_path,
'r')
as dat:
lunbo_path = json.loads(dat.read())
['lunbo'
]#命令列:mpc-hc64.exe video目錄 /randomize /fullscreen
通過將上方的**設定為快捷命令就能一鍵啟動啦。並且跨裝置也能快速同步操作,基本無需配置。
下面是我的一部分實用的快捷命令,具體可以前往後面相關鏈結檢視。
我的指令碼彙總:
附上基本框架:
提取碼:wrml
超級方便的外掛程式管理器 「utools」
官網位址 utools 是乙個極簡 外掛程式化 跨平台的現代桌面軟體。通過自由選配豐富的外掛程式,打造你得心應手的工具集合。通過快捷鍵 預設 alt space 就可以快速呼出這個搜尋框。它相當聰明,你可以往輸入框內貼上文字 截圖 檔案 資料夾等等,能夠處理此內容的外掛程式也早已準備就緒,統一的設計...
shell方便的工具
1.dirname 獲取乙個帶路徑檔案所在的資料夾,省去自己寫正規表示式去匹配 常見用法 cd dirname target file 2.basename 獲取乙個帶路徑檔案的檔名 3.檔案重定向 有時候有的命令讀取引數一定需要讀取乙個檔案,可是你不想寫這個檔案,那就用重定向,比如 需要檔案是這樣...
方便linux的使用
下面分享幾個可以提公升linux使用流暢的小技巧 下面是整個source檔案,可直接替換掉 deb xenial main restricted deb xenial updates main restricted deb xenial universe deb xenial updates uni...