找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 21644|回复: 0

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

[复制链接]
发表于 2015-3-29 23:03:30 | 显示全部楼层 |阅读模式
和我类似的轻度强迫症患者可以试试
  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技术 +1 收起 理由
pcl_test + 1 先收藏

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 11:21 , Processed in 0.085175 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表