批处理读取文本第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#如何用批处理读取文本第二行并赋值给变量? https://github.com/npocmaka/ba…...
嵌入式入门Day26
IO Day2 IO相关函数标准文件流指针缓冲区刷新时机作业 IO相关函数 time #include <time.h>time_t time(time_t *tloc);功能:返回1970年到现在的秒数参数:计算出来的秒数;返回值;成功返回1970年到现在的秒数,失…...
【Vue3项目实战系列一】—— 从零开始一个vue3项目 vue3+javascript+vite 非常详细 手把手教学
😉 你好呀,我是爱编程的Sherry,很高兴在这里遇见你!我是一名拥有十多年开发经验的前端工程师。这一路走来,面对困难时也曾感到迷茫,凭借不懈的努力和坚持,重新找到了前进的方向。我的人生格言是…...
Python_Flask04(牛马问答平台01)
项目名称:牛马问答平台 项目简介:1.主要用来给社会上的牛马们探讨老板的恶心之处。 2. 用来学习交流。 技术手段:Python3.x Flask render_template pymysql flask_sqlalchemy........ 注意该博客为迭代项目,于最后一期展示完整…...
Java转C之并发和多线程
提纲: 概念介绍与对比概述 简述Java与C在并发和多线程方面的核心区别解释C11标准、POSIX、C11 <threads.h>、Pthread等名词 Java多线程与并发回顾 线程、Runnable、ExecutorService概念说明同步关键字与工具类含义 C并发基础 没有Java式的内置线程类…...
针对一个系统的权限管理这样的业务场景,使用各设计模式解说
通义灵码 下面将介绍如何在Java中使用不同的设计模式来实现权限管理系统。每个设计模式都有其特定的应用场景和实现方式,我们将逐一讲解。 1. 单例模式 (Singleton Pattern) 应用场景:确保权限管理服务在整个系统中只有一个实例,避免重复创…...
Android AppCompatImageView View.Gone状态切换到View.VISIBLE重新layout,Kotlin
Android AppCompatImageView View.Gone状态切换到View.VISIBLE重新layout,Kotlin import android.content.Context import android.util.AttributeSet import android.util.Log import androidx.appcompat.widget.AppCompatImageViewclass MyImageView : AppCompatI…...
在云上轻松部署达梦数据库
达梦数据库(DM Database)是由达梦数据库有限公司开发的一款关系型数据库管理系统(RDBMS)。作为国内领先的数据库产品,达梦数据库在政府、金融、能源、电信、交通、医疗、教育等多个行业得到广泛应用,尤其在…...
什么是厄尔米特(Hermitian)矩阵?
厄米矩阵(Hermitian Matrix)定义 在数学和物理中,厄米矩阵是满足以下条件的复方阵: A A † \mathbf{A}\mathbf{A}^\dagger AA† 其中, A † \mathbf{A}^\dagger A†表示矩阵 A \mathbf{A} A的共轭转置,即…...
React - useActionState、useFormStatus与表单处理
参考文档:react18.3.1官方文档 一些概念: React 的 Canary 和 Experimental 频道是 React 团队用于发布和测试新功能的渠道。 useActionState useActionState 是一个可以根据某个表单动作的结果更新 state 的 Hook。 const [state, formAction, isPe…...
v3账号密码登录随机图片验证码
安装插件 pnpm i identify --save图形验证码组件 <template><div class"s-canvas"><!-- 图形验证码的宽和高都来自于父组件的传值,若父组件没有传值,那么就按当前子组件的默认值进行渲染 --><canvas id"s-canvas&…...
不只是请求和响应:使用Fiddler解读Cookie与状态码全指南(下)
欢迎浏览高耳机的博客 希望我们彼此都有更好的收获 感谢三连支持! 不只是请求和响应:使用Fiddler抓包HTTP协议全指南(上)_fiddler 获取响应脚本-CSDN博客https://blog.csdn.net/Chunfeng6yugan/article/details/144005872?spm1001.2014.3001.5501 不只是请求和响…...
java+springboot+mysql游乐园管理系统
项目介绍: 使用javaspringbootmysql开发的游乐园管理系统,系统包含管理员、员工、用户角色,功能如下: 管理员:登录后台;首页数据统计;员工管理;用户管理;游乐项目管理&…...
@RequestBody,getparameter,@RequestParam,@PathVariable之间的区别和联系
RequestBody、RequestParam、PathVariable和getParameter(你提到的可能是Java Servlet API中的方法)是用于处理HTTP请求参数的不同机制。它们各自有不同的用途和适用场景,下面将详细解释它们之间的区别和联系。 1. RequestBody 用途…...
Linx下自动化之路:Redis安装包一键安装脚本实现无网极速部署并注册成服务
目录 简介 安装包下载 安装脚本 服务常用命令 简介 通过一键安装脚本实现 Redis 安装包的无网极速部署,并将其成功注册为系统服务,开机自启。 安装包下载 redis-7.0.8.tar.gzhttp://download.redis.io/releases/redis-7.0.8.tar.gz 安装脚本 修…...
VMware虚拟机搭建和镜像配置
VMware虚拟机搭建和镜像配置 下载安装VMware 开始下载 更改安装路径,需要一个大空间的盘 更改后下一步 下一步后,选择不主动升级更新 一直下一步 直到安装完毕 输入许可密钥,我下载的版本是12,输入完成点击输入ÿ…...
红日靶场vulnstark 4靶机的测试报告[细节](一)
目录 一、测试环境 1、系统环境 2、注意事项 3、使用工具/软件 二、测试目的 三、操作过程 1、信息搜集 2、漏洞利用Getshell ①Struts 2 s2-045漏洞 手工利用s2-45漏洞 Msf综合利用 ②Tomcat框架(CVE-2017-12615) ③phpMyAdmin(CVE-2018-12613) 构造语句写入冰蝎木…...
深入详解人工智能机器学习常见算法——线性回归算法
深入解析线性回归算法 线性回归是机器学习和统计学中最基本、最常用的预测建模技术之一。它通过线性关系描述因变量与一个或多个自变量之间的联系,帮助我们进行数据建模和预测。本篇文章将详细介绍线性回归的基础知识、算法原理、核心概念、实现方法以及其在实际问题…...
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()的使用
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 cv::calibrateCameraRO 是 OpenCV 中用于相机标定的函数,它允许固定某些点来进行更精确的标定。 函数原型 double cv::calibrateCa…...
Java 25虚拟线程资源隔离配置,深度剖析JEP 477 ScopedValue与CarrierThread绑定机制
第一章:Java 25虚拟线程资源隔离配置概览Java 25正式将虚拟线程(Virtual Threads)纳入长期支持特性,并强化了其在高并发场景下的资源隔离能力。虚拟线程本身轻量、按需调度,但若缺乏显式资源约束,仍可能因共…...
保姆级教程:在Ubuntu 24.04上配置Ollama服务并开机自启(附systemctl管理命令)
在Ubuntu 24.04上构建企业级Ollama服务:从零到生产环境部署指南 当大型语言模型(LLM)从开发环境走向生产部署时,稳定性与可维护性成为首要考量。本文将带您完成Ollama服务在Ubuntu 24.04上的全生命周期配置,涵盖服务架…...
乙巳马年春联生成终端部署教程:Docker镜像构建+GPU算力适配详解
乙巳马年春联生成终端部署教程:Docker镜像构建GPU算力适配详解 1. 引言:从创意到部署,开启你的AI春联创作之旅 想象一下,你只需要输入几个简单的愿望词,比如“如意”或“飞跃”,一扇威严的皇家红门就在屏…...
贝叶斯分位数回归:超越均值的数据分析方法
贝叶斯分位数回归:超越均值的数据分析方法 【免费下载链接】pymc Python 中的贝叶斯建模和概率编程。 项目地址: https://gitcode.com/GitHub_Trending/py/pymc 问题-方案-验证-应用四象限框架 问题:均值回归的业务痛点 在数据分析实践中&#…...
手把手调试Linux DRM:如何用ftrace和debugfs深入connector的生命周期
深入Linux DRM调试:用ftrace与debugfs剖析connector全生命周期 当一块崭新的显示板卡接入系统时,DRM驱动中的connector如同一位尽职的接线员,负责建立显示设备与内核之间的通信桥梁。但在实际开发中,我们常会遇到热插拔检测失灵、…...
如何为 Play With Docker 贡献代码:社区参与与开发流程详解
如何为 Play With Docker 贡献代码:社区参与与开发流程详解 【免费下载链接】play-with-docker You know it, you use it, now its time to improve it. PWD!. 项目地址: https://gitcode.com/gh_mirrors/pl/play-with-docker Play With Docker(P…...
从清洗到展示:一份完整的微博评论LDA分析Jupyter Notebook实战笔记(附避坑点)
从清洗到展示:一份完整的微博评论LDA分析Jupyter Notebook实战笔记(附避坑点) 在数据爆炸的时代,社交媒体评论中蕴藏着大量有价值的用户观点。本文将带你用Jupyter Notebook完整走通微博评论的主题分析流程,从原始数据…...
从Vaihingen数据集到训练样本:高分辨率遥感影像语义分割全流程实战
1. 初识Vaihingen数据集:遥感语义分割的黄金标准 第一次接触Vaihingen数据集时,我被它5厘米的超高分辨率震撼到了。这个由ISPRS提供的基准数据集,虽然只包含38张60006000像素的影像,但每张都清晰地展现了德国小镇Vaihingen的街道、…...
别再为Win32::Console报错发愁了!用Strawberry Perl+VS Build Tools搞定Tongsuo国密编译
攻克Windows下Tongsuo国密编译的三大拦路虎:Strawberry PerlVS Build Tools实战指南 在Windows平台编译Tongsuo(铜锁)国密库时,开发者往往会遇到一系列令人抓狂的依赖问题。从Perl模块缺失到工具链混乱,再到64位汇编支…...
Wireshark网络分析8大实用技巧详解
8个Wireshark网络分析实用技巧深度解析1. 数据包过滤技术精要1.1 IP地址过滤在复杂网络环境中快速定位特定设备通信流:ip.addr192.168.1.100 # 过滤特定IP的所有通信 ip.src192.168.1.100 and ip.dst10.0.0.1 # 精确源目地址过滤1.2 协议栈组合过滤实现多层协议联…...
