国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
!!!!! 使用系統(tǒng)環(huán)境變量繼承,實現(xiàn)軟件便攜化

使用系統(tǒng)環(huán)境變量繼承,實現(xiàn)軟件便攜化

很多的軟件工具,使用中需要用絕對路徑。
先說一下對軟件的便攜化,我曾經(jīng)使用的兩個方案:

方法一、虛擬盤符

使用 subst 命令
首先在U盤某個文件夾下建立一個bat文件,內(nèi)容為

@ECHO OFF
subst X: %~d0\xxx\yyy

----------------------
上面的 %~d0 是獲取bat所在盤符
xxx\yyy 替換成自己U盤上的文件夾

上面的bat文件運行之后,系統(tǒng)會多出一個虛擬盤符 X:


U盤里面的軟件,都用X:開始的路徑來調(diào)用


這種方法的弊端主要在于,自己電腦上的軟件和U盤的軟件配置同步不太方便
為了免于修改之苦,在自己電腦上也用虛擬盤符來配置軟件,結果帶來別的一些麻煩
但文件夾結構改變時,需要更改不同的配置文件

 

方法二、nircmd

用 ~$folder.nircmd$ 獲取 nircmd 自身路徑
使用格式:

nircmd execmd ~$folder.nircmd$\plugin\xxx.vbs

這種方法會讓命令變得很長,而且使用了一個外部程序,理論上,會使得命令的運行慢一點點。
不過為了便攜化,我忍了。

在hoekey里面,我一直在用nircmd方法來配置軟件

但是隨著我對strokeit使用的深入,發(fā)現(xiàn)strokeit在調(diào)用外部程序的時候,竟然不支持相對路徑!

也就是說,在運行程序這欄,必須使用絕對路徑

你可以試試直接寫 CMD.exe,這是不行的,當然,我們可以寫環(huán)境變量 %ComSpec%

可執(zhí)行文件還能用\前導的路徑解決

如果是要開TXT文本,strokeit就要在文件欄寫 程序文件絕對路徑,參數(shù)寫TXT文本的絕對路徑

上面nircmd的例子,strokeit必須要在文件欄寫全路徑,以\和..前導,可以運行,但是當涉及到比較復雜的路徑傳遞時,就不是很靠譜,如果參數(shù)欄里面需要絕對路徑,可能會導致調(diào)用的程序出錯

而且~$folder.nircmd$方法必然要固定文件夾的相對位置,當文件夾位置改變的時候,修改起來比較麻煩

 

最后說一下我現(xiàn)在使用的

方法三:環(huán)境變量繼承

我的目錄結構:
..\hoekey\hyhoekey.bat
..\strokeit

hyhoekey.bat 內(nèi)容
-----------------------------------------
@ECHO OFF

set "hoekeyDrive=%~d0"
set "hoekeyFolder=%~dp0"
cd /d "%hoekeyFolder%"
set "hoekeyFolder=%cd%"
set "hoekeyplugin=%hoekeyFolder%\plugin"
set "path=%path%;%hoekeyFolder%"

cd..
set "ToolsFolder=%cd%"
set "StrokeItFolder=%cd%\strokeIt"

cd %hoekeyFolder%
start "" "%hoekeyFolder%\hoekey.exe"
start "" "%StrokeItFolder%\strokeit.exe"

exit
-------------------------------------------
稍微解釋一下,%~d0是bat所在盤符,%~dp0是bat自身路徑
用 %CD% 再次賦值 是為了去掉 %~dp0 最后那個 \
最后要用start調(diào)用程序,不使用start會卡住


上面的bat可以自己根據(jù)需要修改,加上AHK、EV、TC什么的


該bat啟動的程序,都將繼承新設定的的環(huán)境變量,并且,這些程序調(diào)用的程序,也都能夠繼承
這種方法可以讓所有的程序都獲得環(huán)境變量,只要程序支持環(huán)境變量,就可以很方便地獲取絕對路徑

這種方法不會影響系統(tǒng)環(huán)境變量,只影響自己的子進程

只需要修改一個bat,就可以控制所有程序的路徑調(diào)用
即使文件夾結構發(fā)生很大變化,也能很方便地修改


使用這個bat,會有個cmd黑框一閃而過,如果很介意的話,可以用nircmd或者vbs調(diào)用隱藏運行。


前面的例子
nircmd execmd ~$folder.nircmd$\plugin\xxx.vbs
用環(huán)境變量繼承來寫:
WScript.exe %hoekeyplugin%\xxx.vbs

最后是strokeit調(diào)用vbs的例子:

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
使用NirCmd
bat批處理文件怎么將路徑添加到path環(huán)境變量中
防止99%以上的上帶毒網(wǎng)站中毒問題——組策略+批處理+補丁立體防毒 - 網(wǎng)吧綜合技術討論區(qū)...
省卻麻煩 一鍵修改注冊表
制作綠化版Python解鎖Python桌面程序的高級打包方式
如何用命令行(CMD)編譯運行C/C++程序
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服