找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 33488|回复: 7

[文本处理] 批处理怎样提取.C 宏定义的值重命名?

[复制链接]
发表于 2018-10-31 11:12:42 | 显示全部楼层 |阅读模式
比如:
存在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个相同的字符)
发表于 2018-10-31 11:56:59 | 显示全部楼层
以关键字 #define _ANDROID_VERSION_ 作为标记去筛选可以吗?

评分

参与人数 1技术 +1 收起 理由
maxwell + 1 方法可以

查看全部评分

 楼主| 发表于 2018-10-31 12:49:17 | 显示全部楼层
回复 2# Batcher


    不行 试过了 可能我的方法不对吧!
发表于 2018-10-31 13:11:10 | 显示全部楼层
回复 3# maxwell


    把你尝试的命令发出来看看,我试试修改一下
发表于 2018-10-31 13:57:39 | 显示全部楼层
本帖最后由 yhcfsr 于 2018-10-31 13:59 编辑
  1. for /f "tokens=3" %%a in ('findstr /c:"#define _ANDROID_VERSION_" "C文件.c"') do ren *.txt "%%~a.txt"
复制代码

评分

参与人数 1技术 +1 收起 理由
maxwell + 1 感谢

查看全部评分

发表于 2018-10-31 23:52:25 | 显示全部楼层
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

评分

参与人数 1技术 +1 收起 理由
maxwell + 1 感谢

查看全部评分

 楼主| 发表于 2018-11-3 15:15:50 | 显示全部楼层
回复 4# Batcher

已经自我解决了。由于加密的原因,所以每次提取都收到了干扰。获取的值不正确
 楼主| 发表于 2018-11-3 15:16:12 | 显示全部楼层
回复 5# yhcfsr


谢谢朋友

已经自我解决了。由于加密的原因,所以每次提取都收到了干扰。获取的值不正确
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 20:51 , Processed in 0.019090 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表