标题: [文本处理] 批处理怎样提取.C 宏定义的值重命名? [打印本页]
作者: maxwell 时间: 2018-10-31 11:12 标题: 批处理怎样提取.C 宏定义的值重命名?
比如:
存在AA.C 里面有宏定义:
#define _ANDROID_VERSION_ "android_8.0_20180505"
#ifdef _VERSION_RELEASE_
_ANDROID_VERSION_"\n",
#else
_ANDROID_VERSION_"_Debug\n",
#endif
现在我需要 将红色的数据提取出来 ,重命名当前一个.txt (当前文件夹只有一个.txt 名称是随机的但格式始终一致)
如上最终应该是:android_8.0_20180505.txt
(我开始想以关键字_ANDROID_VERSION_ 作为标记去筛选,但是不成功,一方面后面又有2个相同的字符)
作者: Batcher 时间: 2018-10-31 11:56
以关键字 #define _ANDROID_VERSION_ 作为标记去筛选可以吗?
作者: maxwell 时间: 2018-10-31 12:49
回复 2# Batcher
不行 试过了 可能我的方法不对吧!
作者: Batcher 时间: 2018-10-31 13:11
回复 3# maxwell
把你尝试的命令发出来看看,我试试修改一下
作者: yhcfsr 时间: 2018-10-31 13:57
本帖最后由 yhcfsr 于 2018-10-31 13:59 编辑
- for /f "tokens=3" %%a in ('findstr /c:"#define _ANDROID_VERSION_" "C文件.c"') do ren *.txt "%%~a.txt"
复制代码
作者: /zhqsystem/zhq 时间: 2018-10-31 23:52
for /f "tokens=1,2,* delims= " %%i in ('type 1.txt')do if /i "%%i"=="#define" if /i "%%j"=="_ANDROID_VERSION_" for /f "delims=" %%k in ("%%~k")do echo,%%~k
作者: maxwell 时间: 2018-11-3 15:15
回复 4# Batcher
已经自我解决了。由于加密的原因,所以每次提取都收到了干扰。获取的值不正确
作者: maxwell 时间: 2018-11-3 15:16
回复 5# yhcfsr
谢谢朋友
已经自我解决了。由于加密的原因,所以每次提取都收到了干扰。获取的值不正确
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |