@echo off
rem 该脚本要在nt系统中运行。
rem 获取当前路径存入临时文件:
for /f "tokens=* delims=" %%a in ('cd ') do (
echo %%a>tmp.tmp
)
rem 转换路径"\"为"/"并将可能含有空格的路径加上"%20",并存入临时文件:
setlocal ENABLEDELAYEDEXPANSION
for /f "tokens=* delims=" %%i in (tmp.tmp) do (
set n=%%i
set n=!n:\=/!
set n=!n: =%%20!
echo !n!>>tmp1.tmp
)
endlocal
rem 获取chrome.rdf文件中特定行的路径信息并存入临时文件:
for /f "tokens=2 delims==" %%i in ('findstr /c:"jar:file:///" chrome.rdf ^| findstr /n "." ^| findstr /r "^1:"') do (
echo "%%i" >_tmp.tmp
)
rem 将上步获取的路径信息中的特定字符替换为“+”,以便进一步提取有效路径,并存入临时文件:
setlocal ENABLEDELAYEDEXPANSION
for /f %%i in (_tmp.tmp) do (
set n=%%i
set n=!n:///=+!
set n=!n:extensions=+!
echo "!n!" >_tmp1.tmp
)
endlocal
rem 提取真实路径并存入临时文件:
for /f "tokens=2 delims=+" %%i in (_tmp1.tmp) do (
echo %%i >_tmp2.tmp
)
rem 读取路径信息并将chrome.rdf中的长路径分两步替换为"+":
for /f "tokens=1-4,* delims=/" %%a in (_tmp2.tmp) do (
echo %%e > _tmp3.tmp
hexc chrome.rdf tmp_1.tmp "%%a/%%b/%%c/%%d" "+"
)
for /f %%n in (_tmp3.tmp) do (
hexc tmp_1.tmp tmp_2.tmp "/%%n" "+"
)
rem 最后将tmp_2.tmp中的所有路径替换为当前路径。
for /f %%i in (tmp1.tmp) do (
hexc tmp_2.tmp chrome1.rdf "++" "%%i/Profiles/"
)
rem 清理临时文件:
del *.tmp |
|