当前位置: 首页 > news >正文

批处理读取文本第n行并赋值给变量?--遍历所有行并赋值给变量数组

::TraceLines.bat
@goto :test1http://www.bathome.net/thread-27229-1-1.html#批处理如何获取txt文本中某行某列的内容/指定行指定列的内容
http://www.bathome.net/thread-47304-1-1.html#如何用批处理读取文本第二行并赋值给变量?
https://github.com/npocmaka/batch.scripts/blob/master/fileUtils/tailHead.bat
关联 .lnk: "文件查看:查找文件的第m行第n列.bat":test1@echo off&setlocal EnableDelayedExpansionchcp 936set my=hi babyrem 空行: 只含有空白字符(cr,space,tab,bs)的行不算空行。rem crlf 或 lf 算换行,单独的 cr 不算换行。crlf 或 lf 不计入本行空白字符内。set #m=1set #n=18rem 取从第 #m 行起到第 #n 行中的最后一个非空行。rem 好处是兼容特殊字符,不需要写文件。(for /l %%a in (!#m! 1 !#n!) do set /p Target=)<"%TEMP%\$"set Targetrem 统计文本行数,最后一个空行不计入总数。for /f "tokens=*" %%a in ('type "%TEMP%\$" ^| find /c /v ""') do set sum=%%aecho "sum=!sum!"rem 遍历文件,取出所有非空行,赋值给 Line00X(for /l %%a in (1 1 !sum!) do (set /a no=%%a+1000&set /p Line!no:~1!=))<"%TEMP%\$"set Line&pause
@goto :EOF

代码:

:: ---------------------------------------------------------------------------------------------------------------------

::TraceLines.bat
@goto :test1

http://www.bathome.net/thread-27229-1-1.html#批处理如何获取txt文本中某行某列的内容/指定行指定列的内容
http://www.bathome.net/thread-47304-1-1.html#如何用批处理读取文本第二行并赋值给变量?
https://github.com/npocmaka/batch.scripts/blob/master/fileUtils/tailHead.bat
关联 .lnk: "文件查看:查找文件的第m行第n列.bat"

:test1
    @echo off&setlocal EnableDelayedExpansion
    chcp 936
    set my=hi baby
    rem 空行: 只含有空白字符(cr,space,tab,bs)的行不算空行。
    rem crlf 或 lf 算换行,单独的 cr 不算换行。crlf 或 lf 不计入本行空白字符内。
    set #m=1
    set #n=18
    rem 取从第 #m 行起到第 #n 行中的最后一个非空行。
    rem 好处是兼容特殊字符,不需要写文件。
    (for /l %%a in (!#m! 1 !#n!) do set /p Target=)<"%TEMP%\$"
    set Target

    rem 统计文本行数,最后一个空行不计入总数。
    for /f "tokens=*" %%a in ('type "%TEMP%\$" ^| find /c /v ""') do set sum=%%a
    echo "sum=!sum!"
    rem 遍历文件,取出所有非空行,赋值给 Line00X
    (for /l %%a in (1 1 !sum!) do (set /a no=%%a+1000&set /p Line!no:~1!=))<"%TEMP%\$"
    set Line&pause
@goto :EOF

:: ---------------------------------------------------------------------------------------------------------------------

测试文本(%TEMP%\$):

注意: 文件编码格式为 GB2312(简体中文)

如何输入 cr 或 lf ? 使用 Notepad++ hexeditor 插件,找到 crlf , 选中 cr 或 lf , ctrl+x

:: ---------------------------------------------------------------------------------------------------------------------

2:3:F:\快捷方式\Start Menu 开始菜单\!TEMP!.lnk5:F:\快捷方式\Start Menu 开始菜单\%CommonProgramFiles(x86)%.lnktab7:F:\快捷方式\Start Menu 开始菜单\%TEMP%.lnk8:blank1 10:blank312:CR1 14:CR3 16:C:\;set a=`@#$^&_+-={[}]));)( ''', !temp!,!my!,%temp%,%my%; if !%~1!==!%%~2!;%1,%~2%,%~; ^,^^,^^^,^^^^, !!,!,!!!, %%,%,%%%, ...txt (2).lnk20:LF22:aaa24:C:\;set a=`@#$^&_+-={[}]));)( ''', !temp!,!my!,%temp%,%my%; if !%~1!==!%%~2!;%1,%~2%,%~; ^,^^,^^^,^^^^, !!,!,!!!, %%,%,%%%, ...txt.lnk
25:	 one27:two29:three

:: ---------------------------------------------------------------------------------------------------------------------

测试文本(%TEMP%\$)截图:

:: ---------------------------------------------------------------------------------------------------------------------

测试结果截图:

总结:

1 bat 里要把命令赋值给变量,除了 for...in('command')... , 就是 command>file, set/p var=<file

   这两者都是有缺点的,前者 in() 会把 command 结果里的 %TEMP% ,!TEMP! 变量展开。

   后者要写文件,在大批量运算时,会非常慢。

2 本文代码的好处是不用写文件,或者说只写一次。而且还兼容所有特殊字符。至于控制字符。。。呃,有点超纲了~~

3 想要测试是否兼容各种特殊字符,可以把 line022 拆出来,一个个特殊字符去测试。这里我就不说了,有勤劳的小蜜蜂吗?搞出亿点点例子来,测出不兼容的例子,请踢我一脚。

相关文章:

批处理读取文本第n行并赋值给变量?--遍历所有行并赋值给变量数组

::TraceLines.bat goto :test1http://www.bathome.net/thread-27229-1-1.html#批处理如何获取txt文本中某行某列的内容/指定行指定列的内容 http://www.bathome.net/thread-47304-1-1.html#如何用批处理读取文本第二行并赋值给变量&#xff1f; https://github.com/npocmaka/ba…...

嵌入式入门Day26

IO Day2 IO相关函数标准文件流指针缓冲区刷新时机作业 IO相关函数 time #include <time.h>time_t time(time_t *tloc);功能&#xff1a;返回1970年到现在的秒数参数&#xff1a;计算出来的秒数&#xff1b;返回值&#xff1b;成功返回1970年到现在的秒数&#xff0c;失…...

【Vue3项目实战系列一】—— 从零开始一个vue3项目 vue3+javascript+vite 非常详细 手把手教学

&#x1f609; 你好呀&#xff0c;我是爱编程的Sherry&#xff0c;很高兴在这里遇见你&#xff01;我是一名拥有十多年开发经验的前端工程师。这一路走来&#xff0c;面对困难时也曾感到迷茫&#xff0c;凭借不懈的努力和坚持&#xff0c;重新找到了前进的方向。我的人生格言是…...

Python_Flask04(牛马问答平台01)

项目名称&#xff1a;牛马问答平台 项目简介&#xff1a;1.主要用来给社会上的牛马们探讨老板的恶心之处。 2. 用来学习交流。 技术手段&#xff1a;Python3.x Flask render_template pymysql flask_sqlalchemy........ 注意该博客为迭代项目&#xff0c;于最后一期展示完整…...

Java转C之并发和多线程

提纲&#xff1a; 概念介绍与对比概述 简述Java与C在并发和多线程方面的核心区别解释C11标准、POSIX、C11 <threads.h>、Pthread等名词 Java多线程与并发回顾 线程、Runnable、ExecutorService概念说明同步关键字与工具类含义 C并发基础 没有Java式的内置线程类&#xf…...

针对一个系统的权限管理这样的业务场景,使用各设计模式解说

通义灵码 下面将介绍如何在Java中使用不同的设计模式来实现权限管理系统。每个设计模式都有其特定的应用场景和实现方式&#xff0c;我们将逐一讲解。 1. 单例模式 (Singleton Pattern) 应用场景&#xff1a;确保权限管理服务在整个系统中只有一个实例&#xff0c;避免重复创…...

Android AppCompatImageView View.Gone状态切换到View.VISIBLE重新layout,Kotlin

Android AppCompatImageView View.Gone状态切换到View.VISIBLE重新layout&#xff0c;Kotlin import android.content.Context import android.util.AttributeSet import android.util.Log import androidx.appcompat.widget.AppCompatImageViewclass MyImageView : AppCompatI…...

在云上轻松部署达梦数据库

达梦数据库&#xff08;DM Database&#xff09;是由达梦数据库有限公司开发的一款关系型数据库管理系统&#xff08;RDBMS&#xff09;。作为国内领先的数据库产品&#xff0c;达梦数据库在政府、金融、能源、电信、交通、医疗、教育等多个行业得到广泛应用&#xff0c;尤其在…...

什么是厄尔米特(Hermitian)矩阵?

厄米矩阵&#xff08;Hermitian Matrix&#xff09;定义 在数学和物理中&#xff0c;厄米矩阵是满足以下条件的复方阵&#xff1a; A A † \mathbf{A}\mathbf{A}^\dagger AA† 其中&#xff0c; A † \mathbf{A}^\dagger A†表示矩阵 A \mathbf{A} A的共轭转置&#xff0c;即…...

React - useActionState、useFormStatus与表单处理

参考文档&#xff1a;react18.3.1官方文档 一些概念&#xff1a; React 的 Canary 和 Experimental 频道是 React 团队用于发布和测试新功能的渠道。 useActionState useActionState 是一个可以根据某个表单动作的结果更新 state 的 Hook。 const [state, formAction, isPe…...

v3账号密码登录随机图片验证码

安装插件 pnpm i identify --save图形验证码组件 <template><div class"s-canvas"><!-- 图形验证码的宽和高都来自于父组件的传值&#xff0c;若父组件没有传值&#xff0c;那么就按当前子组件的默认值进行渲染 --><canvas id"s-canvas&…...

不只是请求和响应:使用Fiddler解读Cookie与状态码全指南(下)

欢迎浏览高耳机的博客 希望我们彼此都有更好的收获 感谢三连支持! 不只是请求和响应&#xff1a;使用Fiddler抓包HTTP协议全指南(上)_fiddler 获取响应脚本-CSDN博客https://blog.csdn.net/Chunfeng6yugan/article/details/144005872?spm1001.2014.3001.5501 不只是请求和响…...

java+springboot+mysql游乐园管理系统

项目介绍&#xff1a; 使用javaspringbootmysql开发的游乐园管理系统&#xff0c;系统包含管理员、员工、用户角色&#xff0c;功能如下&#xff1a; 管理员&#xff1a;登录后台&#xff1b;首页数据统计&#xff1b;员工管理&#xff1b;用户管理&#xff1b;游乐项目管理&…...

@RequestBody,getparameter,@RequestParam,@PathVariable之间的区别和联系

RequestBody、RequestParam、PathVariable和getParameter&#xff08;你提到的可能是Java Servlet API中的方法&#xff09;是用于处理HTTP请求参数的不同机制。它们各自有不同的用途和适用场景&#xff0c;下面将详细解释它们之间的区别和联系。 1. RequestBody 用途&#xf…...

Linx下自动化之路:Redis安装包一键安装脚本实现无网极速部署并注册成服务

目录 简介 安装包下载 安装脚本 服务常用命令 简介 通过一键安装脚本实现 Redis 安装包的无网极速部署&#xff0c;并将其成功注册为系统服务&#xff0c;开机自启。 安装包下载 redis-7.0.8.tar.gzhttp://download.redis.io/releases/redis-7.0.8.tar.gz 安装脚本 修…...

VMware虚拟机搭建和镜像配置

VMware虚拟机搭建和镜像配置 下载安装VMware 开始下载 更改安装路径&#xff0c;需要一个大空间的盘 更改后下一步 下一步后&#xff0c;选择不主动升级更新 一直下一步 直到安装完毕 输入许可密钥&#xff0c;我下载的版本是12&#xff0c;输入完成点击输入&#xff…...

红日靶场vulnstark 4靶机的测试报告[细节](一)

目录 一、测试环境 1、系统环境 2、注意事项 3、使用工具/软件 二、测试目的 三、操作过程 1、信息搜集 2、漏洞利用Getshell ①Struts 2 s2-045漏洞 手工利用s2-45漏洞 Msf综合利用 ②Tomcat框架(CVE-2017-12615) ③phpMyAdmin(CVE-2018-12613) 构造语句写入冰蝎木…...

深入详解人工智能机器学习常见算法——线性回归算法

深入解析线性回归算法 线性回归是机器学习和统计学中最基本、最常用的预测建模技术之一。它通过线性关系描述因变量与一个或多个自变量之间的联系&#xff0c;帮助我们进行数据建模和预测。本篇文章将详细介绍线性回归的基础知识、算法原理、核心概念、实现方法以及其在实际问题…...

Python 开发环境搭建

Python 开发环境搭建 flyfish 版本 Ubuntu 22.04.5 LTS PyTorch 2.5.1 cuda 12.4 python 3.12.7安装 Anaconda3 依赖 sudo apt-get install libgl1-mesa-glx libegl1-mesa libxrandr2 libxrandr2 libxss1 libxcursor1 libxcomposite1 libasound2 libxi6 libxtst6安装命令 …...

OpenCV相机标定与3D重建(9)相机标定函数calibrateCameraRO()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 cv::calibrateCameraRO 是 OpenCV 中用于相机标定的函数&#xff0c;它允许固定某些点来进行更精确的标定。 函数原型 double cv::calibrateCa…...

图解ConvTranspose1d:从计算图到代码实现的逆向思维

1. 从Conv1d到ConvTranspose1d的思维转换 第一次接触ConvTranspose1d时&#xff0c;我和大多数人一样困惑&#xff1a;为什么要把好好的卷积操作反过来计算&#xff1f;直到在语音合成项目中被迫深入使用后&#xff0c;才明白这种"逆向思维"的价值。想象你正在玩拼图…...

AI编程助手规则库实战:从通用到专用的效率跃迁

1. 项目概述&#xff1a;当你的光标有了“规矩”最近在逛GitHub的时候&#xff0c;发现了一个挺有意思的项目&#xff0c;叫“awesome-cursorrules-zh”。光看名字&#xff0c;你可能会有点懵&#xff0c;“Cursor”是那个AI编程工具&#xff0c;“rules”是规则&#xff0c;那…...

抠图怎么制作?2026年最全工具对比指南,一键搞定透明背景

五一假期&#xff0c;我被朋友们的"抠图需求"整崩溃了。换证件照底色、制作商品图、去掉背景重新合成……各种场景都来了一遍。索性我决定把这几年用过的抠图工具都总结一下&#xff0c;给大家写篇真实体验文章。说实话&#xff0c;抠图这件事看似简单&#xff0c;但…...

VR-Reversal终极指南:免费将3D VR视频转换为2D播放的完整方案

VR-Reversal终极指南&#xff1a;免费将3D VR视频转换为2D播放的完整方案 【免费下载链接】VR-reversal VR-Reversal - Player for conversion of 3D video to 2D with optional saving of head tracking data and rendering out of 2D copies. 项目地址: https://gitcode.co…...

硬件调试利器:全面掌握AMD Ryzen处理器系统性能优化实战技巧

硬件调试利器&#xff1a;全面掌握AMD Ryzen处理器系统性能优化实战技巧 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: http…...

程序员35岁转型记:我如何成为AI产品经理?

当“质量守卫者”遇见职业天花板如果你是一名软件测试工程师&#xff0c;你一定熟悉这样的场景&#xff1a;凌晨三点还在盯着自动化脚本的运行日志&#xff0c;白天反复和开发争论一个缺陷的定级&#xff0c;周报里写满了用例覆盖率和漏测率&#xff0c;但晋升答辩时评委却问你…...

长期使用Taotoken聚合API对项目运维复杂度的简化感受

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 长期使用Taotoken聚合API对项目运维复杂度的简化感受 作为项目维护者&#xff0c;我们团队在过去一段时间里&#xff0c;将多个大模…...

大语言模型底层逻辑:从LM到Agent的完整工作流解析!

本文深入剖析了大语言模型&#xff08;LM&#xff09;的核心架构与工作原理&#xff0c;重点介绍了Token作为数据处理单元、Context作为临时记忆体的作用&#xff0c;以及Prompt、Tool、MCP等关键组件如何协同运作。文章还探讨了Agent的自主决策系统与Agent Skill的任务定制机制…...

基于AI编程前沿技术,主题为变形金刚:手脑协同 + 触发指令 + AI大数据落地系统,目前落地解决方案

变形金刚:手脑协同 + 触发指令 + AI大数据落地系统 一、系统架构总览 这个变形金刚系统以“多重控制融合”为核心,将手/脑/语音三条控制通道汇聚到同一个AI大脑,实现对人形机器人/机械结构的实时操控: ┌───────────────────────────────…...

CircuitPython嵌入式开发:从代码编辑、串口调试到库管理的完整工作流

1. 从零开始&#xff1a;CircuitPython的嵌入式开发哲学如果你和我一样&#xff0c;是从Arduino或者传统的C语言嵌入式开发转过来的&#xff0c;第一次接触CircuitPython的感觉&#xff0c;大概就像从手动挡汽车换到了电动车。那种“拧钥匙、挂挡、踩离合”的繁琐步骤&#xff…...