pc雜談-3 好多檔案的內容要取代怎麼辦,教你一個批量取代檔案文字,以及讓取代的內容也能換行的密技
各位好,最近NVDA更新到了2022.1版本,好多地方都傳出了更新後某些插件無法使用的災情,
但可能還有很多人不知道的是,插件之所以不能用,不一定是插件已經完全無法在新版NVDA中執行,而是被插件目錄中的manifest.ini檔案影響了,
每個NVDA插件都會有一個manifest.ini檔案,紀錄插件相容的最低版本和最高版本,
當你的NVDA當前版本高於這個檔案中紀錄的最高版本時,就會導致插件無法使用,解決方法也很簡單,就是自己手動去修改檔案中的最高版本號,
但如果你有十多個以上的插件,你就需要反覆的修改十幾個;甚至更多的檔案,才能讓所有的插件正常的執行,
因此這篇就要告訴你,用最簡單的方式,批量取代大量檔案中相同文字的技巧,以及在取代的內容中增加換行或刪除換行的密技,
此篇所提到的技巧,也可以用於其他需要大量取代檔案內容的場景,不是只能修改NVDA插件的檔案喔!
下載
這篇你需要下載一個名為notepad++的軟體,這是一個比記事本還強大的文字編輯器,
因為最新版的notepad++會跟NVDA打架,所以下面的下載點是舊版本,但功能也夠用了,如果軟體問你是否更新notepad++,記得選否→
點我下載notepad++
下載好後,基本一路下一步直到安裝完成即可使用。
批量取代檔案中的內容
接下來以修改NVDA插件中的manifest.ini檔案為例→
- 首先,你要找到放NVDA插件的地方,先按
win鍵
tab找到
所有程式
往下找
NVDA 資料夾,已摺疊
按enter,之後往下找到這個再按enter
開啟 NVDA 使用者組態目錄 - 此時會打開一個資料夾視窗,找到列表中最上面中的
addons - 為了避免後續操作失誤,建議你可以把這個資料夾做個備份,看是要複製到其他地方,或是直接在
addons
資料夾上按快顯鍵,選
加到 "addons.rar"(T)
直接壓縮成一個壓縮檔來備份,等下改錯了只要關閉nvda,解壓並覆蓋就能還原 - 繼續剛剛的步驟,在addons上,按enter進去
- 之後你要在這裡新增一個記事本檔案,例如我會先按ctrl+alt+空格切成未選取,之後按快顯鍵找新增→文字文件,按enter
- 在剛新增好的文字檔上按快顯鍵,往下找
Edit with Notepad++
enter打開 - 按
ctrl+shift+f
會打開(在多個檔案中尋找)的對話框 - 按照下面的內容輸入要搜尋和要取代的文字,以及相關選項的設定→
- 尋找內容 下拉式方塊 編輯區
lastTestedNVDAVersion = - 取代為 下拉式方塊 編輯區
- 尋找內容 下拉式方塊 編輯區
lastTestedNVDAVersion =
- 過濾 下拉式方塊 編輯區
.ini - 使用目前文件資料夾位置核取方塊勾選
- 包含子資料夾核取方塊勾選
- 僅符合整個單字(W)核取方塊勾選Alt+w
- 區分大小寫(C)核取方塊沒勾選Alt+c
- 搜尋模式 下拉式方塊 一般選擇鈕勾選
- 之後tab找
全部尋找按鈕
按enter,搜尋後會有一個列表,顯示搜尋到多少符合條件的內容,看起來類似這樣的訊息→
搜尋 "lastTestedNVDAVersion =" (找到 23 個結果在 23 的文件中。搜尋文件量: 184) - 接下來再按一次
ctrl+shift+f
會打開(在多個檔案中尋找)的對話框 - tab找
在多個檔案中取代按鈕
按enter,會彈出一個詢問你是否取代的對話框,選確定enter
之後檔案裡本來的
lastTestedNVDAVersion =
就會被取代成
lastTestedNVDAVersion =
- 之後按ctrl+shift+f再次打開(在多個檔案中尋找)對話框,
notepad++會自動記住上次的設定,這次你要修改的只有三個地方,按照下面的說明書入並做一樣的設定→- 尋找內容 下拉式方塊 編輯區
lastTestedNVDAVersion =
- 取代為 下拉式方塊 編輯區
lastTestedNVDAVersion = 2099.1 \r\n# lastTestedNVDAVersion = - 搜尋模式 下拉式方塊 延伸(\n, \r, \t, \0, \x...)選擇鈕勾選
- tab找
在多個檔案中取代按鈕
按enter,會彈出一個詢問你是否取代的對話框,選確定enter - 之後就取代完成了,回到剛剛放插件的視窗,隨便找一個插件資料夾進去,例如我找
WorldVoice
裡面的
manifest.ini
你就能看到類似這樣的兩行
lastTestedNVDAVersion = 2099.1
lastTestedNVDAVersion = 2022.1
- ok! 這樣就修改成功了,你可以重啟NVDA,然後嘗試更新到2022.1版本囉!
接下來我會補充前面沒有特別強調的一些重點,有興趣可以繼續看下去
補充
- 前面的步驟中,我們先把manifest.ini裡面的
lastTestedNVDAVersion =
加上了#,之後再根據#符號定位到那一行,並加上了新的內容再換行,
為了避免ini檔案中本來就有用到#,因此才搜尋了完整的# lastTestedNVDAVersion =進行第二次的取代操作 - 前面用到的#符號,作用是讓有#開頭的整行文字不被執行,也就是說這行只是給你自己看的,程式會直接跳過那一行
- 前面用到的\r\n是換行符號的寫法,每個系統的換行寫法不同,例如linux跟mac ox,有的只有\n有的只有\r,而windows一般是\r\n
- 當你尋找或取代文字時,如果會寫到換行,搜尋模式就必須調成
延伸(\n, \r, \t, \0, \x...)選擇鈕勾選
否則你輸入的\r\n將會以純文字的形式來搜尋或取代