首页 > 其他分享 >使用批处理读取文件内容

使用批处理读取文件内容

时间:2023-12-06 18:57:13浏览次数:33  
标签:文件 读取 批处理 echo %% txt data

应用场景:下载系统中符合某些条件记录的一批附件。
解决方法:用sql查询这些附件的路径,保存到一个文件中,用批处理读取这个文件的每行内容,拷贝到新目录中。

例如:
用sql查询语句查询出来的文件名称、路径两个字段如下

文件名称 文件路径
1.txt	d:\data\184a3217aeda61b8991ddd34fd1b45b6
2.txt	d:\data\184bcf911e63fe61306973c497ea9a50

  

把上面内容保存到一个文本文件如d:\data.txt中。

写一个批处理文件copyFile.bat,内容如下:

@echo off
set "file_path=d:\data.txt"

for /f "tokens=1,2" %%a in (%file_path%) do (
    echo 复制文件 %%b 到  %%a
    copy "%%b"  "d:\output\%%a"
)

echo 文件复制完成!
pause

  

执行后,会把d:\data\184a3217aeda61b8991ddd34fd1b45b6复制到d:\output并重命名为1.txt,
把d:\data\184bcf911e63fe61306973c497ea9a50复制到d:\output并重命名为2.txt


说明:
for /f 用于读取文件内容和解析
tokens=1,2 批处理默认空格是分隔符,表示提取第一列、第二列(索引从1开始)
%%a %%b 对应于token后面的列数,有多少列就要有多少个输出变量,并且各变量中的字母有顺序


另外,使用delims可以指定符号作为分隔符,切割字符串,默认只显示前半部分。

@echo off
for /f "delims=、" %%a in ("1、天气") do echo %%a
pause

输出:1

@echo off
for /f "tokens=2 delims=、" %%a in ("1、天气") do echo %%a
pause

输出:天气

 

标签:文件,读取,批处理,echo,%%,txt,data
From: https://www.cnblogs.com/gdjlc/p/17880279.html

相关文章

  • PHP+JS实现大文件切片上传功能实现实例源码
    近期公司的项目中,涉及到上传大文件的问题,大文件上传用普通表单上传时出现的问题是,无法断点续存,一但中途中断上传,就要重头开始,这很明显不是我们想要的,所以经过一番查询,学习了一下大文件分割上传的方法。并且使用简单的php做服务端处理程序实现一个功能demo,供以后回顾使用。本人也是......
  • Vue前端+后端实现带进度条文件分片上传
    传输参数对象packagecom.deju.provider.upload.domain;importlombok.Data;importorg.springframework.web.multipart.MultipartFile;@DatapublicclassMultipartFileParam{ //文件传输任务ID privateStringtaskId; //当前为第几分片 privateintchun......
  • [good]vscode编译多个c源文件
    windows上实现vscode编译多个c源文件-知乎(zhihu.com)1、建立bin/doc/inc/app/src等目录2、bin目录用来存放生成的exe文件,doc用来存放帮助文档,inc用来存放*.h文件,app用来存放主程序main.c,src用来存放*.c文件3、修改lauch.json文件{//UseIntelliSensetolearnabo......
  • linux使用tail,grep查看文件,提示配到二进制文件 (标准输入)
    环境centos7.9背景最近在linux下使用cat,tail等查看日志时会报《配到二进制文件(标准输入)》,然后就没有任何输出,通常这些日志是中文英文混打印的如使用vi进日志后能查看中文格式的内容原因那是因为在Linux系统中,使用tail和grep命令来查找中文格式的log时,遇到《Binaryfil......
  • 苹果ios系统ipa文件签名的圈外签名是什么?稳定性怎么样?
    各位老铁们好啊!我是咕噜老尼,相信很多老铁们呢都会担心一个问题,那就是到底会不会掉签,别以为这种问题只有老铁们担心哦,其实开发者也会担心,因为掉签会增加本钱也会增加工作量,掉签浪费了开发者和客户的时间精力,老尼在这先说一句重点,没有永远不掉签的签名,如果有人说有,那他一定是骗子,企业......
  • python HTML文件标题解析问题的挑战
    引言在网络爬虫中,HTML文件标题解析扮演着至关重要的角色。正确地解析HTML文件标题可以帮助爬虫准确地获取所需信息,但是在实际操作中,我们常常会面临一些挑战和问题。本文将探讨在Scrapy中解析HTML文件标题时可能遇到的问题,并提供解决方案。问题背景在解析HTML文件标题的过程中,......
  • js上传文件夹的功能如何实现
    在JavaScript中无法直接上传整个文件夹,但可以通过以下步骤实现上传文件夹的功能:1.使用``标签来选择文件夹。该标签支持同时选择多个文件和文件夹。2.监听文件夹选择变化的事件,并获取所选择的文件和文件夹。constfileInput=document.querySelector('input[type="file"]')......
  • Linux文件查找、打包压缩以及解压
    一:文件查找文件查找主要包括三个命令:which、find、locatewhich:命令查找示例:find:文件查找,针对文件名命令:find路径选项表达式动作示例: 二:文件打包压缩打包:打包的命令是tar,打包不能改变文件的大小,打包后的文件不是一个压缩包。命令:tar选项压缩包文件名称源文件ta......
  • 关于Winform+KitWare.VTK+PCL处理3D点云文件的编译环境
    最近项目需求,在网上找了一个处理3D点云文件的源码,但是发现无法编译,研究了下原来是电脑环境问题,必须配置一个PCL库的环境才能使用,下面进入正题。首先需要安装PCL环境,可以通过vcpkg安装(因为我没有成功,所以请自行查找),我是一直卡在装载pcl环节失败,网上搜了很多解决方法,包括重装VS英文......
  • 从字符串中分离文件路径,文件名及文件扩展名
    从字符串中分离文件路径,文件名及文件扩展名如一个文件:D:\文档\C#BASE\StringBuilder.md要分离出文件路径:D:\文档\C#BASE\文件名:StringBuilder文件扩展名:md这是我们要拿到“\”和“.”这两个字符最后出现的索引stringpath="D:\文档\C#BASE\StringBuilder.md";inti=path.la......