Board logo

标题: [文本处理] 【已解决】用sed.exe替换文本内容求助 [打印本页]

作者: yyz219    时间: 2022-6-14 09:12     标题: 【已解决】用sed.exe替换文本内容求助

本帖最后由 yyz219 于 2022-6-18 08:55 编辑

完美解决了:
  1. ::【自动去 sid(拖动)】【转换成的(.reg)是(ANSI 编码)】
  2. @echo off
  3. ::【将文件转换成(ANSI编码)————方便检测有无(关键字)】【只有(ANSI编码),才能检测到(正确结果),否则一律显示(无)】
  4. TYPE %1 >  "%~dpn1_ANSI.txt"
  5. ::【检测 “关键字”:HKEY_USERS\S-1-5-21】
  6. findstr ""HKEY_USERS\S-1-5-21"" "%~dpn1_ANSI.txt" >nul 2>&1
  7. if errorlevel 1 goto C   %【无就跳到 :C】%
  8. if errorlevel 0 goto D   %【有就跳到 :D】%
  9. :C
  10. DEL /Q /F "%~dpn1_ANSI.txt"  U.bom
  11. cls
  12. echo.
  13. echo.
  14. echo.
  15. echo.
  16. echo.
  17. echo.
  18. echo.
  19. echo.
  20. echo.
  21. echo.
  22. echo.
  23. echo.
  24. echo                                  不需要替换
  25. pause>nul
  26. exit
  27. :D
  28. DEL /Q /F "%~dpn1_ANSI.txt"  U.bom
  29. cls
  30. echo.
  31. echo.
  32. echo.
  33. echo.
  34. echo.
  35. echo.
  36. echo.
  37. echo.
  38. echo.
  39. echo.
  40. echo.
  41. echo.
  42. echo                                   要替换吗?
  43. pause>nul
  44. cls
  45. ::+++++++++++++++++++++++++++++++++++++++++++++++++
  46. ::【复制(被拖文件)到(bat所在目录)】
  47. xcopy  /y  %1 "%~dp0"
  48. cd /d "%~dp0"
  49. ::将reg文件转换为文本
  50. ren  *.reg  888.txt
  51. ::将 文本888.txt转为 ANSI编码
  52. type 888.txt>999.txt
  53. ::去 999.txt中的SID(数字和 “.” 的位数  要等于sid的位数  不等于就不会处理)
  54. sed.exe -i -E -e "s/HKEY_USERS\\S-1-5-21.....................................\\/HKEY_CURRENT_USER\\/g"  999.txt
  55. sed.exe -i -E -e "s/HKEY_USERS\\S-1-5-21...................................\\/HKEY_CURRENT_USER\\/g"  999.txt
  56. ::将999.txt转换为reg文件
  57. ren  999.txt  "%~n1.reg"
  58. ::【复制(已经转换的文件)到(被拖目录)覆盖原文件】
  59. xcopy /s /y   "%~dp0*.reg" "%~dp1"
  60. Del /f /s /q  *.reg  *.txt
  61. exit
复制代码
sed.exe下载 http://bcn.bathome.net/tool/4.8/sed.exe
作者: Batcher    时间: 2022-6-14 10:55

回复 1# yyz219
  1. sed "s/HKEY_USERS\\.*\\Console/HKEY_CURRENT_USER\\Console/g" 1.txt > 2.txt
复制代码

作者: yyz219    时间: 2022-6-14 11:10

回复  yyz219
Batcher 发表于 2022-6-14 10:55



    我试一试先  万分感谢
作者: yyz219    时间: 2022-6-14 11:15

回复 2# Batcher

2.txt乱码:

  Windows Registry Editor Version 5.00
਍ഀഀ

਍嬀䠀䬀䔀夀开䰀伀䌀䄀䰀开䴀䄀䌀䠀䤀一䔀尀匀夀匀吀䔀䴀尀䌀甀爀爀攀渀琀䌀漀渀琀爀漀氀匀攀琀尀猀攀爀瘀椀挀攀猀尀䴀瀀猀匀瘀挀尀倀愀爀愀洀攀琀攀爀猀尀倀漀爀琀䬀攀礀眀漀爀搀猀尀䐀䠀䌀倀崀ഀഀ
"Collection"=hex:
਍嬀䠀䬀䔀夀开唀匀䔀刀匀尀匀ⴀ㄀ⴀ㔀ⴀ㈀㄀ⴀ㌀㈀㤀㄀㔀㄀㤀 ㄀㈀ⴀ㈀㠀㘀㠀㔀㐀㘀㔀㐀㔀ⴀ㈀㈀㤀  ㈀㌀ 㠀㘀ⴀ㔀  尀䌀漀渀猀漀氀攀崀ഀഀ
"WindowPosition"=dword:0096012C

作者: yyz219    时间: 2022-6-14 11:21

回复 2# Batcher


    先将1.txt设置为ansi编码及OK了  谢谢




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2