[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] [分享]批处理修改Notepad++配置文件实现客户化设置

和我类似的轻度强迫症患者可以试试
  1. @echo off
  2. REM Notepad++的设置是保存在自己的XML文件里面的
  3. REM 最近一次更新:2015-03-29
  4. echo 备份配置文件
  5. set "now=%date%_%time%"
  6. set "now=%now: =-%"
  7. set "now=%now:/=-%"
  8. set "now=%now::=-%"
  9. set "now=%now:.=-%"
  10. copy /y "%APPDATA%\Notepad++\config.xml" "%APPDATA%\Notepad++\config.xml.%now%.bak"
  11. copy /y "%APPDATA%\Notepad++\stylers.xml" "%APPDATA%\Notepad++\stylers.xml.%now%.bak"
  12. echo,
  13. echo 结束进程 notepad++.exe 之前请确保其当前打开的所有文件已经做了保存
  14. pause
  15. taskkill /f /im notepad++.exe
  16. echo,
  17. echo 把配置文件复制到当前目录方便 sed -i 处理
  18. copy /y "%APPDATA%\Notepad++\config.xml" "config.xml.npp"
  19. copy /y "%APPDATA%\Notepad++\stylers.xml" "stylers.xml.npp"
  20. echo,
  21. set "FileConfig=config.xml.npp"
  22. set "FileStylers=stylers.xml.npp"
  23. set n=1
  24. echo 设置,首选项,新建,新建文档编码从默认的 UTF-8(无BOM) 修改成 ANSI
  25. REM <GUIConfig name="NewDocDefaultSettings" format="0" encoding="4" lang="0" codepage="-1" openAnsiAsUTF8="yes" />
  26. REM <GUIConfig name="NewDocDefaultSettings" format="0" encoding="0" lang="0" codepage="-1" openAnsiAsUTF8="no" />
  27. sed -r -i.bak.%n% "/GUIConfig name=\"NewDocDefaultSettings\"/ s#encoding=\"4\" (.*) openAnsiAsUTF8=\"yes\"#encoding=\"0\" \1 openAnsiAsUTF8=\"no\"#" "%FileConfig%"
  28. set /a n+=1
  29. echo,
  30. echo 设置,首选项,制表符设置,勾选“转换为空格”
  31. REM <GUIConfig name="TabSetting" size="4" replaceBySpace="no" />
  32. REM <GUIConfig name="TabSetting" size="4" replaceBySpace="yes" />
  33. sed -r -i.bak.%n% "/GUIConfig name=\"TabSetting\"/ s#replaceBySpace=\"no\"#replaceBySpace=\"yes\"#" "%FileConfig%"
  34. set /a n+=1
  35. echo,
  36. echo 设置,首选项,其它,超链接设置,取消勾选“启用”
  37. REM <GUIConfig name="URL">2</GUIConfig>
  38. REM <GUIConfig name="URL">0</GUIConfig>
  39. sed -r -i.bak.%n% "/GUIConfig name=\"URL\"/ s#>2<#>0<#" "%FileConfig%"
  40. set /a n+=1
  41. echo,
  42. echo 设置,首选项,动完成,取消勾选“所有输入均启动自动完成”
  43. REM <GUIConfig name="auto-completion" autoCAction="3" triggerFromNbChar="1" funcParams="yes" />
  44. REM <GUIConfig name="auto-completion" autoCAction="0" triggerFromNbChar="1" funcParams="yes" />
  45. sed -r -i.bak.%n% "/GUIConfig name=\"auto-completion\"/ s#autoCAction=\"3\"#autoCAction=\"0\"#" "%FileConfig%"
  46. set /a n+=1
  47. echo 设置,语言格式设置,Batch,KEYWORDS,添加关键字 enabledelayedexpansion
  48. REM <LexerType name="batch" desc="Batch" ext="">
  49.     REM <WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
  50.     REM <WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
  51.     REM <WordsStyle name="KEYWORDS" styleID="2" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
  52.     REM <WordsStyle name="KEYWORDS" styleID="2" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1">enabledelayedexpansion</WordsStyle>
  53. sed -r -i.bak.1 "/LexerType name=\"batch\"/,/keywordClass=/ s#(keywordClass=\"instre1\").*#\1>enabledelayedexpansion</WordsStyle>#" "%FileStylers%"
  54. echo,
  55. echo 应用修改后的配置文件
  56. copy /y "%FileConfig%" "%APPDATA%\Notepad++\config.xml"
  57. copy /y "%FileStylers%" "%APPDATA%\Notepad++\stylers.xml"
  58. echo,
  59. echo 清理当前目录的临时文件
  60. move /y config.xml.npp* "%temp%"
  61. move /y stylers.xml.npp* "%temp%"
  62. pause
复制代码
1

评分人数

返回列表