实现目标:
DOS批处理非常古老,并且不好写,每个函数都可能出现问题,一个简单的字符提取都需要花费很大精力。
自己原本的目标是更改android布局中分辨率数据,把
android:layout_height="@dimen/mm_96"
替换为
android:layout_height="@dimen/dp_48"
大概就是这个流程:
加载文件,获取一行行的数据
判断是否要处理的(包含@dimen/mm_)
获取行数据中的数字1,计算要转换的数字2
替换@dimen/mm_数字1为@dimen/dp_数
本例列出实现的第一步,截取从"@dimen/mm_到"的内容
android:paddingLeft="@dimen/mm_30" 获取到30
android:paddingLeft="@dimen/mm_30f" 获取到-30
所需资源:Dos批处理技术
解决方案:
使用dos语法很难懂,效率也不高,不过好在什么也不需要安装。
我写了一个批处理,调用方法
@echo off chcp 65001 cd "%~dp0" %~d0% @REM 分别测试 @REM "@dimen/mm_30f" 负数 @REM "@dimen/mm_30" 正数 @REM @dimen/mm_30 其他 set line_str1=android:paddingLeft="@dimen/mm_30f" set token_start1=mm_ set token_len1=3 call str_token_file.bat "%line_str1%" %token_start1% %token_len1% echo 在字符串"%line_str1%"中的获取的数据为%ERRORLEVEL% goto :eof |
str_token_file.bat文件请在如下地址下载
https://download.csdn.net/download/lgs790709/23860039
参考:
如何查找子字符串是否在字符串中?
关于: