首页 > 其他分享 >特定格式文档数据的转换

特定格式文档数据的转换

时间:2024-12-26 18:33:05浏览次数:3  
标签:count set %% skip echo 特定 文档 REM 格式

保存为bat后缀文件

代码如下:

@echo off

REM 主要功能,取文本中特定列内容,可拼凑后,输出一个文档。
REM 加快处理某些特定格式文档数据的转换

REM 调整格式,避免乱码
chcp 65001
set /p "file_path=请粘贴文件路径(鼠标拖拽文件进来): "
REM version.h 文件内容如下:
REM #pragma once 
REM #define VERSION 6.1.5.4
REM #endif

REM 现在想从 C++ 的头文件里读取版本号 6.1.5.4,代码如下。

REM 下面这个 for 循环的意思是:
REM 1. 按行读取文件
REM 2. skip=1 的作用是过滤掉第 1 行,即从第 2 行开始读
REM 3. tokens=3 的作用是每读取到一行之后,进行切分,然后取第 3 段,这句没有指定切分符号,默认是空白字符(包含空格、Tab)
REM 4. 这里的 %%a 可以改为其它的变量,如 %%b、%%c 等
set ar[23]
set br[32]
set count=0
set z

setlocal EnableDelayedExpansion
echo ************COL*************
REM 取第N列 skip:从第几行开始。判断处为获取个数。
REM 第一个数组:HEX:14-2A=16 DEC:22  (数组总大小43)  取后面23个元素,前20个未改。
REM skip:21(hex:14+1)  获取:24(23+1)
for /f "skip=21 tokens=3 delims=, " %%a in (%file_path%) do (
	set ar[!count!]=%%a
	set /a count+=1	
	if !count! geq 24 (
		echo tooo end
		goto :end_loop
	)
)

:end_loop
REM 贴成一个字符串
for /L %%i in (0,1,22) do (
    echo !ar[%%i]!
	set z=!z!,0x!ar[%%i]!
)
REM 去掉第一个逗号
set "z=!z:~1!"
REM 输出第一个数组
echo %z%
echo EEPROM: > t123.txt
echo {%z%} >> t123.txt

REM 处理第二个数组
set count=0
set z=
echo ************COL2*************
REM 取第N列 skip:从第几行开始。判断处为获取个数。
REM 第二个数组:HEX:5F-7E=1F DEC:31  (32个元素) 整个数组
REM 	#skip:起始位置前一行:59(5f在60行)  总数:33(32加1) 
for /f "skip=59 tokens=3 delims=, " %%a in (%file_path%) do (
	set ar[!count!]=%%a
	set /a count+=1	
	if !count! geq 33 (
		echo tooo end
		goto :end_loop2
	)
)

:end_loop2
REM 贴成一个字符串
for /L %%i in (0,1,22) do (
    echo !ar[%%i]!
	set z=!z!,0x!ar[%%i]!
)
REM 去掉第一个逗号
set "z=!z:~1!"
REM 输出第二个数组
echo %z%
echo SECOND: >> t123.txt
echo {%z%} >> t123.txt

REM 显示输出文件
echo **Output File name**:
echo 			t123.txt
pause

标签:count,set,%%,skip,echo,特定,文档,REM,格式
From: https://www.cnblogs.com/xjxlb/p/18633951

相关文章

  • WebP图片格式
    WebPWebP是一种图片文件格式,由Google开发,用于提供更好的图像压缩性能。支持有损压缩和无损压缩,同时支持透明度(类似PNG格式的alpha通道)和动画(类似GIF格式)。WebP特点高效压缩•有损压缩:与JPEG相比,WebP的文件体积更小,同时保持类似的图像质量。•无损压缩:相比PNG,W......
  • 基于java的SpringBoot/SSM+Vue+uniapp的小型企业办公自动化系统的详细设计和实现(源码
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......
  • java8--程序--输入与格式化输出--Saner&printf
    packageInputTest;importjava.util.Scanner;publicclassInputTest02{publicstaticvoidmain(String[]args){//English();Chiness();}publicstaticvoidEnglish(){Scannerin=newScanner(System.in);......
  • 一个GLSL Shader的格式化算法(LALR解析器)
    一个GLSLShader的格式化算法(LALR解析器)在进行OpenGL程序开发时,我需要自行解析`string`类型的Shader代码,抽取出里面的某些变量名和subroutine名。由于找不到可用的GLSLShader解析器,就照着虎书(《现代编译原理-c语言描述》)自己写了个LALRGenerator,实际上包含了(词法分析器+语法......
  • 前端文档生成框架
    背景有时候写项目难免要用到文档框架。VitePress/VuePress熟悉的vue,不必多说。https://vitepress.dev/zh/docsify28.2kstarshttps://docsify.js.org/#/知名度很高。docusaurusfacebook出品。https://docusaurus.io/zh-CN/StoryBook85kstarshttps://storybook.js.......
  • 稀疏矩阵数据结构(如CSR、CSC格式)
    稀疏矩阵数据结构稀疏矩阵(SparseMatrix)是一种大多数元素为零的矩阵。在处理稀疏矩阵时,如果我们直接使用常规的二维数组来存储矩阵数据,将会浪费大量的存储空间,因为大部分元素都是零。为了解决这一问题,稀疏矩阵数据结构应运而生,通过只存储非零元素来大幅减少内存消耗。最常用的稀......
  • 搭建sftp,使用户只能访问特定的目录
    在Linux系统中,为SFTP用户指定访问目录通常涉及到创建一个chroot环境。以下是一个简单的步骤和示例代码,用于创建一个SFTP用户并限制其访问目录:1.创建一个新的用户组(如果已存在,可以跳过这一步):1groupaddsftpgroup2.创建SFTP用户并添加到新组:1useradd-Gsftpgroup-s/sbin/......
  • Python和MySQL常用时间格式化异同
    Python和MySQL常用时间格式化异同1.Python时间格式化Python的datetime和time模块有一些常用的格式化形式,具体如下。%Y:四位数的年份,如2023。%m:两位数的月份(01-12)。%d:两位数的日期(01-31)。%H:24小时制的小时数(00-23)。%M:分钟数(00-59)。%S:秒数(00-59)。例如,"%Y-%m-%d"会将时......
  • DEM文件如何切片成Cesium的Terrain格式?
    概述数字高程模型(DEM)文件是地形数据的重要来源,广泛用于GIS领域。然而,为了在Cesium等平台更高效地展示地形数据,将DEM文件转换并切片成Cesium的Terrain格式是一项关键操作。最近发现一款名为GISBox的免费GIS工具箱在这方面用起来非常方便,下面就为大家简单介绍一下具体操作。为什么......
  • 最近刚刚整理的免费获取股票数据接口API(实时数据、历史数据、CDMA、KDJ等指标数据)配有
    以下所有接口,均可在浏览器中直接测试!沪深两市股票列表API接口链接(可点击验证):https://api.mairui.club/hslt/list/b997d4403688d5e66a【实时数据接口】沪深两市实时交易数据接口API接口链接(可点击验证):https://api.mairui.club/hsrl/ssjy/000001/b997d4403688d5e66a1、p......