当前位置: 首页 > 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…...

G-Helper完全手册:华硕笔记本终极性能调优指南

G-Helper完全手册&#xff1a;华硕笔记本终极性能调优指南 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops. Control tool for ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, TUF, Strix, Scar and other models 项目地址: http…...

5分钟快速部署!终极开源邮件营销平台BillionMail完全指南 [特殊字符]

5分钟快速部署&#xff01;终极开源邮件营销平台BillionMail完全指南 &#x1f680; 【免费下载链接】BillionMail Billion Mail is a future open-source email marketing platform designed to help businesses and individuals manage their email campaigns with ease 项…...

查询参数拼接

export function objectToQueryString(params) {return Object.entries(params).filter(([key, value]) > value ! undefined && value ! null) // 过滤掉 undefined 和 null.map(([key, value]) > ${encodeURIComponent(key)}${encodeURIComponent(value)}).joi…...

从ChatGPT插件到MCP:一个AI开发者亲历的工具集成进化史

从ChatGPT插件到MCP&#xff1a;一个AI开发者亲历的工具集成进化史 三年前&#xff0c;当我第一次尝试让ChatGPT调用外部API时&#xff0c;需要手动拼接JSON参数、处理OAuth认证、设计错误重试机制——光是让模型能查询天气就耗费了两天时间。如今&#xff0c;通过MCP协议&…...

DAMOYOLO-S实战教程:对接企业OA系统实现图片自动审核与标注

DAMOYOLO-S实战教程&#xff1a;对接企业OA系统实现图片自动审核与标注 1. 引言&#xff1a;从手动审核到智能自动化的跨越 想象一下这个场景&#xff1a;你是一家电商公司的运营&#xff0c;每天有上千张商品图片需要上传到后台。按照公司规定&#xff0c;每张图片都需要人工…...

20世纪十大经典算法解析与应用

二十世纪十大经典算法解析1. 蒙特卡洛方法 (1946)由John von Neumann、Stan Ulam和Nick Metropolis在洛斯阿拉莫斯国家实验室提出。该方法通过随机采样解决确定性数学问题&#xff0c;其核心思想是&#xff1a;在单位正方形内随机撒点统计落在不规则图形内的点数比例该比例近似…...

避坑指南:Java下载MinIO目录时,路径处理、空文件夹和权限的那些坑

Java与MinIO目录下载实战&#xff1a;从路径陷阱到权限优化的深度解析 1. 当MinIO目录下载遇上真实开发场景 在云存储时代&#xff0c;MinIO作为高性能的对象存储解决方案&#xff0c;已经成为Java开发者处理文件存储的热门选择。但当我们从简单的单文件操作转向复杂的目录下载…...

企业级跨平台字体架构:PingFangSC现代化部署方案

企业级跨平台字体架构&#xff1a;PingFangSC现代化部署方案 【免费下载链接】PingFangSC PingFangSC字体包文件、苹果平方字体文件&#xff0c;包含ttf和woff2格式 项目地址: https://gitcode.com/gh_mirrors/pi/PingFangSC 在数字产品设计日益精细化的今天&#xff0c…...

BEYOND REALITY Z-Image实测:同一张脸,两种质感,细节对比一目了然

BEYOND REALITY Z-Image实测&#xff1a;同一张脸&#xff0c;两种质感&#xff0c;细节对比一目了然 今天我要带大家做一个有趣的实验。想象一下&#xff0c;你面前站着同一个人&#xff0c;但左边是手机快照&#xff0c;右边是专业单反拍摄的照片——这就是BEYOND REALITY Z…...

2026年03月29日最热门的开源项目(Github)

这个榜单展示了当前开源项目的情况&#xff0c;特别集中在与人工智能、代理和代码管理相关的工具。以下是对榜单的分析&#xff1a; 总体趋势 人工智能工具的兴起&#xff1a;所有上榜项目均与人工智能、代理和工具开发相关&#xff0c;表明这一领域的关注度持续上升。开发者越…...