
【已解決】用sedexe替換文本內(nèi)容求助最后由 yyz219 于 -6-18 08:55完美解決了:
sed.exe下載 http://bcn.bathome.net/tool/4.8/sed.exenclick="copycode($('code0'));">復(fù)制代碼
- ::【自動去 sid(拖動)】【轉(zhuǎn)換成的(.reg)是(ANSI 編碼)】
- @echo off
- ::【將文件轉(zhuǎn)換成(ANSI編碼)————方便檢測有無(關(guān)鍵字)】【只有(ANSI編碼),才能檢測到(正確結(jié)果),否則一律顯示(無)】
- TYPE %1 >%~dpn1_ANSI.txt
- ::【檢測 “關(guān)鍵字”:HKEY_USERSS-1-5-21】
- findstr HKEY_USERSS-1-5-21 %~dpn1_ANSI.txt >nul 2>&1
- if errorlevel 1 goto C %【無就跳到 :C】%
- if errorlevel 0 goto D %【有就跳到 :D】%
- :C
- DEL /Q /F %~dpn1_ANSI.txtU.bom
- cls
- echo.
- echo.
- echo.
- echo.
- echo.
- echo.
- echo.
- echo.
- echo.
- echo.
- echo.
- echo.
- echo不需要替換
- pause>nul
- exit
- :D
- DEL /Q /F %~dpn1_ANSI.txtU.bom
- cls
- echo.
- echo.
- echo.
- echo.
- echo.
- echo.
- echo.
- echo.
- echo.
- echo.
- echo.
- echo.
- echo 要替換嗎?
- pause>nul
- cls
- ::+++++++++++++++++++++++++++++++++++++++++++++++++
- ::【復(fù)制(被拖文件)到(bat所在目錄)】
- xcopy/y%1 %~dp0
- cd /d %~dp0
- ::將reg文件轉(zhuǎn)換為文本
- ren*.reg888.txt
- ::將 文本888.txt轉(zhuǎn)為 ANSI編碼
- type 888.txt>999.txt
- ::去 999.txt中的SID(數(shù)字和 “.” 的位數(shù)要等于sid的位數(shù)不等于就不會處理)
- sed.exe -i -E -e s/HKEY_USERSS-1-5-21...................................../HKEY_CURRENT_USER/g999.txt
- sed.exe -i -E -e s/HKEY_USERSS-1-5-21.................................../HKEY_CURRENT_USER/g999.txt
- ::將999.txt轉(zhuǎn)換為reg文件
- ren999.txt%~n1.reg
- ::【復(fù)制(已經(jīng)轉(zhuǎn)換的文件)到(被拖目錄)覆蓋原文件】
- xcopy /s /y %~dp0*.reg %~dp1
- Del /f /s /q*.reg*.txt
- exit

