
[分享]批處理修改Notepad++配置文件實現客戶化設置和我類似的輕度強迫癥患者可以試試nload="thumbImg(this)" alt="" />
nclick="copycode($('code0'));">復制代碼
- @echo off
- REM Notepad++的設置是保存在自己的XML文件里面的
- REM 最近一次更新:-03-29
- echo 備份配置文件
- set now=%date%_%time%
- set now=%now: =-%
- set now=%now:/=-%
- set now=%now::=-%
- set now=%now:.=-%
- copy /y %APPDATA%Notepad++config.xml %APPDATA%Notepad++config.xml.%now%.bak
- copy /y %APPDATA%Notepad++stylers.xml %APPDATA%Notepad++stylers.xml.%now%.bak
- echo,
- echo 結束進程 notepad++.exe 之前請確保其當前打開的所有文件已經做了保存
- pause
- taskkill /f /im notepad++.exe
- echo,
- echo 把配置文件復制到當前目錄方便 sed -i 處理
- copy /y %APPDATA%Notepad++config.xml config.xml.npp
- copy /y %APPDATA%Notepad++stylers.xml stylers.xml.npp
- echo,
- set FileConfig=config.xml.npp
- set FileStylers=stylers.xml.npp
- set n=1
- echo 設置,首選項,新建,新建文檔編碼從默認的 UTF-8(無BOM) 修改成 ANSI
- REM <GUIConfig name=NewDocDefaultSettings format=0 encoding=4 lang=0 codepage=-1 openAnsiAsUTF8=yes />
- REM <GUIConfig name=NewDocDefaultSettings format=0 encoding=0 lang=0 codepage=-1 openAnsiAsUTF8=no />
- sed -r -i.bak.%n% /GUIConfig name=NewDocDefaultSettings/ s#encoding=4 (.*) openAnsiAsUTF8=yes#encoding=0 1 openAnsiAsUTF8=no# %FileConfig%
- set /a n+=1
- echo,
- echo 設置,首選項,制表符設置,勾選“轉換為空格”
- REM <GUIConfig name=TabSetting size=4 replaceBySpace=no />
- REM <GUIConfig name=TabSetting size=4 replaceBySpace=yes />
- sed -r -i.bak.%n% /GUIConfig name=TabSetting/ s#replaceBySpace=no#replaceBySpace=yes# %FileConfig%
- set /a n+=1
- echo,
- echo 設置,首選項,其它,超鏈接設置,取消勾選“啟用”
- REM <GUIConfig name=URL>2</GUIConfig>
- REM <GUIConfig name=URL>0</GUIConfig>
- sed -r -i.bak.%n% /GUIConfig name=URL/ s#>2<#>0<# %FileConfig%
- set /a n+=1
- echo,
- echo 設置,首選項,動完成,取消勾選“所有輸入均啟動自動完成”
- REM <GUIConfig name=auto-completion autoCAction=3 triggerFromNbChar=1 funcParams=yes />
- REM <GUIConfig name=auto-completion autoCAction=0 triggerFromNbChar=1 funcParams=yes />
- sed -r -i.bak.%n% /GUIConfig name=auto-completion/ s#autoCAction=3#autoCAction=0# %FileConfig%
- set /a n+=1
- echo 設置,語言格式設置,Batch,KEYWORDS,添加關鍵字 enabledelayedexpansion
- REM <LexerType name=batch desc=Batch ext=>
- REM <WordsStyle name=DEFAULT styleID=0 fgColor=000000 bgColor=FFFFFF fontName= fontStyle=0 fontSize= />
- REM <WordsStyle name=COMMENT styleID=1 fgColor=008000 bgColor=FFFFFF fontName= fontStyle=0 fontSize= />
- REM <WordsStyle name=KEYWORDS styleID=2 fgColor=0000FF bgColor=FFFFFF fontName= fontStyle=1 fontSize= keywordClass=instre1 />
- REM <WordsStyle name=KEYWORDS styleID=2 fgColor=0000FF bgColor=FFFFFF fontName= fontStyle=1 fontSize= keywordClass=instre1>enabledelayedexpansion</WordsStyle>
- sed -r -i.bak.1 /LexerType name=batch/,/keywordClass=/ s#(keywordClass=instre1).*#1>enabledelayedexpansion</WordsStyle># %FileStylers%
- echo,
- echo 應用修改后的配置文件
- copy /y %FileConfig% %APPDATA%Notepad++config.xml
- copy /y %FileStylers% %APPDATA%Notepad++stylers.xml
- echo,
- echo 清理當前目錄的臨時文件
- move /y config.xml.npp* %temp%
- move /y stylers.xml.npp* %temp%
- pause

