【文件处理】二、批处理(.bat) - 批量修改文件拓展名

一、简介

批处理(Batch Processing)是一种广泛应用于Dos和Windows系统种的脚本语言;它允许用户将一些列名称或程序组合在一起,形成可一次性执行的批处理文件。批处理文件的拓展名通常为".bat"、“.cmd”、".btm"等;

二、批处理的基本语法和命令

批处理文件是由一条条命令组成的普通文本文件,这些命令可以是DOS命令、PowerShell命令或其他可执行程序的路径。以下是一些常用的批处理命令和语法:

1、注释:使用::或rem添加注释,这些注释在批处理文件执行时不会被执行,仅用于说明或备注。
2、变量:在批处理文件中,可以使用变量来存储和引用数据。变量的定义和使用通常通过set命令来实现。
3、判断:使用if语句进行条件判断,根据条件的真假来执行不同的命令。
4、循环:使用for、goto等语句实现循环结构,用于重复执行一段代码或命令。
5、文件操作:包括创建、复制、移动、删除文件等,常用的命令有md(创建目录)、rd(删除目录)、copy(复制文件)、del(删除文件)等。
6、字符串操作:包括字符串连接、截取、查找和替换等,这些操作通常通过变量和特定的命令来实现。

三、批处理的应用-批量修改文件拓展名

制作一个批处理文件只需简单的几个步骤即可完成;可以快速帮我们处理简单,但重复的任务。
步骤一:鼠标右键 -》新建 -》文本文档 -》myBatFile.bat;
(ps:需要在”查看“菜单栏种先勾选“文件拓展名”,才可以修改文件拓展名)
在这里插入图片描述

步骤二:使用文本编辑工具打开批处理文件myBatFile.bat,编写批处理指令。

@echo off
@REM 改变代码页编码为UTF-8
chcp 65001

@REM 设置转换格式后的存储的文件夹名称
SET FileName=result

@REM 设置被转换的原文件格式
SET srcFormat=txt

@REM 设置转换的目标文件格式
SET tagFormat=xml



@REM ==============定制部分结束 =================
@REM 判断文件夹是否已经存在,存在则不创建;
if exist %~dp0%/%%FileName% (
	echo 文件保存路径: %~dp0%/%%FileName%
    ) else (
	mkdir %~dp0%/%%FileName%
	echo 文件保存路径: %~dp0%/%%FileName%
    )

@REM 获取原文件格式的字符长度
call :strLen srcFormat strLen

@REM 批量转换文本格式
setlocal enabledelayedexpansion
SET Count=1
for %%i in (*.%srcFormat%) do (	
	set a=%%i
	set b=%FileName%/!a:~0,-%strlen%!%tagFormat%
	copy "!a!"/a "%~dp0%!b!">nul
	set /a sum+=%Count%
	echo 转换文件!sum!!b!		
)
echo 完成
pause

@REM 退出程序
EXIT /B 0


@REM 获取字符串长度
:strLen
setlocal enabledelayedexpansion

:strLen_Loop
if not "!%1:~%len%!"=="" set /A len+=1 & goto :strLen_Loop
(endlocal & set %2=%len%)
goto :eof

步骤三:双击批处理文件运行程序;
运行myBatFile.bat前:
在这里插入图片描述

运行myBatFile.bat后:
在这里插入图片描述

四、小结

批处理作为一种windows系统下脚本语言,它不需要搭建复杂的运行环境,天然适合帮助我们处理一些简单但重复的任务。善用批处理文件,可以让我们在日常工作中处理繁琐的任务时得心应手。不得不说是我们的居办公司必备好帮手。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/907991.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

go-logger v0.27.0 - 并发性能为官方库 10 倍

go-logger是一个高性能的 golang 日志库,旨在提供快速、轻量级的日志记录功能 Github 使用文档 v0.27.0 更新内容 优化内存分配优化写数据性能增加日志属性自定义函数增加各个日志级别格式化打印函数 说明 性能优化是该版本最重要的更新内容。性能优化的结果&…

大零售时代下融合发展的新路径:定制开发技术的应用与思考

摘要:本文探讨在大零售背景下,传统零售边界模糊,融合成为趋势。分析大零售包含的跨行业跨业态融合等三个层面,重点阐述定制开发技术中的 21 链动模式、AI 智能名片和 S2B2C 商城小程序在推动大零售发展中的作用和意义,…

qt QSplitter详解

1、概述 QSplitter是Qt框架中的一个布局管理器类,它允许用户在应用程序窗口中创建可拖动的分隔器,以便动态地调整多个子窗口或控件的大小。QSplitter非常适合用于分割、重新排列和管理用户界面中的多个区域,提供了一种直观且灵活的方式来控制…

【6G 需求与定义】ITU(国际电联)对全球6G标准的愿景

博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G技术研究。 博客内容主要围绕…

《高频电子线路》—— 调幅电路

文章内容来源于【中国大学MOOC 华中科技大学通信(高频)电子线路精品公开课】,此篇文章仅作为笔记分享。 目录 调幅电路 分类 小结 模拟相乘器调幅电路 流程图比较 集成电路MC1596G实例 小结 单边带调幅电路 滤波法 移相法 修正的移相…

[java][框架]springMVC(1/2)

目标 知道SpringMVC的优点编写SpringMVC入门案例使用PostMan发送请求掌握普通类型参数传递掌握POJO类型参数传递掌握json数据参数传递掌握响应json数据掌握rest风格快速开发 一、SpringMVC简介 1 SpringMVC概述 问题导入 SpringMVC框架有什么优点? 1.1 Spring…

零基础玩转IPC之——如何实现远程实时查看监控视频(P2P)

P2P是peer-to-peer的简称,又称为点对点技术,是没有中心服务器、依靠用户群节点进行信息交换的对等式网络。区别于传统的C/S中央服务器结构,P2P网络中每一个用户节点即是客户端又是服务端,能同时作为服务器给其他节点提供服务。 优…

医院场景下电气设备的谐波治理

随着各种电气设备在医院诊疗中的使用越来越广泛,谐波源越来越多,造成线路及电源处的谐波污染也越来越大。某医院变电所有电源进线柜3个,现场的配电系统存在以下问题:出现配电线路损耗增大、发热、缩短绝缘寿命;出现电容…

电赛入门之软件stm32keil+cubemx

hal库可以帮我们一键生成许多基本配置,就不需要自己写了,用多了hal库就会发现原来用基本库的时候都过的什么苦日子(笑 下面我们以f103c8t6,也就是经典的最小核心板来演示 一、配置工程 首先来新建一个工程 这里我们配置rcc和sys&…

一篇文章理解前端中的 File 和 Blob

概述: js处理文件、二进制数据和数据转换的时候,提供了一些API和对象,例如:File、Blob、FileReader、ArraryBuffer、Base64、Object URL 和 DataURL。现在主要介绍File和Blob这两个对象。 1.Blob介绍 在js中,Blob&am…

react使用Fullcalendar

前言: 最近在做项目时,遇到了需要用日历的项目。一开始考虑使用antd的日历组件。后来 调研技术库,发现了fullcalendar 库。经过对比 fullcalendar 更强大,更灵活。 其实 antd的日历组件 也不错,简单的需求用他也行。…

SpringBoot应用:精品在线试题库的设计与实现

2 相关技术 2.1 Spring Boot框架简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Sprin…

【数据分享】2024年我国省市县三级的休闲娱乐设施数量(免费获取/18类设施/Excel/Shp格式)

KTV、棋牌室、音乐厅等休闲服务设施的配置情况是一个城市公共基础设施完善程度的重要体现,一个城市休闲服务设施种类越丰富,数量越多,通常能表示这个城市的公共服务水平越高! 本次我们为大家带来的是我国各省份、各地级市、各区县…

Git在码云上的使用指南:从安装到推送远程仓库

目录 前言: 1、git的安装 1.1.Linux-centos环境下安装 1.2.Linux-ubuntu环境下安装 2.创建Git本地仓库 3.配置Git 4.认识⼯作区、暂存区、版本库 5.添加文件 5.1.git命令 5.2.commit命令 6.远程操作 6.1.新建远程仓库 6.2.克隆远程仓库: 6…

11.Node.js API接口

八、API接口 8.1 json-server工具 1)安装json-server npm i -g json-server2)示例 //students.json {"student":[{"id":1,"name":"sally","age":18,"gender":"女"},{"id":2,&…

Flink本地模式安装详解

1. 概述 Apache Flink 支持多种安装和运行模式,主要可以分为以下几种: Local(本地)模式: 这种模式主要用于学习和测试,所有的 Flink 组件都会在同一个 JVM 进程中运行。这种方式非常适合初学者了解 Flink…

LabVIEW配电产品精度测试系统

开发了一种基于LabVIEW平台的配电产品精度测试系统,通过自动化测试流程实现更高的测试准确性与效率。系统采用串口和TCP通信技术,与多功能交流采样变送器和配电设备无缝数据交互,提升了测试工作的可靠性和一致性。 一、项目背景 在配电产品…

0-ARM Linux驱动开发-字符设备

一、字符设备概述 Linux 系统中,设备被分为字符设备、块设备和网络设备等。字符设备以字节流的方式进行数据传输,数据的访问是按顺序的,一个字节一个字节地进行读取和写入操作,没有缓冲区。例如,终端(/dev…

flink 内存配置(一):设置Flink进程内存

Apache Flink通过严格控制各个组件的内存使用,在JVM之上提供了高效的工作负载。虽然Flink社区努力为所有配置提供合理的默认值,但由于用户部署在Flink上的应用范围很广,这并不总是可行的。为了给用户提供最大的生产价值,Flink支持…

Android启动流程_Zygote阶段

前言 上一篇文档中我们描述了 Android 启动中的 init 启动部分,本片文档将会继续 Android 启动流程的逻辑,继续梳理 Zygote 部分功能。 说明框架 对于 Zygote 进程,要从以下框架说明: 第一点,编译,zygo…