Windows批处理 - 从源路径拷贝指定文件至目标位置

2024-01-30 06:10

本文主要是介绍Windows批处理 - 从源路径拷贝指定文件至目标位置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Makefile @TOC

Windows批处理 - 拷贝指定格式文件【附代码详解】

在工程实践中经常需要将指定文件拷贝至目标位置,由于每次手动拷贝效率太低,因此想将这个过程自动化,并将重要信息区分颜色显示,以下是具体实现过程和代码,希望可以帮助到别人。

目录

  1. 关键信息显示
  2. 变量设定
  3. 拷贝功能具体实现
  4. 显示拷贝完毕提示信息

1. 关键信息显示

@echo off
color f0
cls
title = FileCopy
echo ***********************************************************************************
echo *     Name: FileCopy.bat                                                          *
echo *     Author: Thor @Department A                                                  *
echo *     Version: V1.0                                                               *
echo *     Target: This script is written for copy target files (test1.txt and .jpg)   *
echo *             from a source directory to a target directory.                      *
echo ***********************************************************************************

@echo off - 关闭后面语句的回显
color f0 - 设置背景颜色为白色(f),前景颜色为黑色(0);
title = FileCopy - 在运行该bat文件后,窗口最上方显示的内容
后面几句是打印关键信息

2. 变量设定

2.1 字体颜色设定

set CGreeen=ESC[32m
Set CRed=ESC[31m
set CBlue=ESC[34m
Set CEnd=ESC[30m

.bat文件里面的ESC是这样的:
编辑界面

**请注意:这里的ESC是特殊字符,不是以单纯的字母输入的,请参考连接进行正确输入:显示彩色文字编辑方法

2.2 拷贝路径设定

设定拷贝的目标路径、txt文件源路径,jpg文件源路径。
定义变量时等号前后不要留空格

set destDir=C:\Users\ddd
set txt_srcDir=C:\Users\aaa
set jpg_srcDir=C:\Users\eee

2.3 打印设定信息

echo %CRed%Note:%CEnd% The database will be copied from a 'srcDir' to 'destDir'
echo       -txt_srcDir-  : %a2l_srcDir%
echo       -jpg_srcDir-  : %elf_srcDir%
echo       -destDir- : %destDir%
  • 这里‘Note’字体会变成红色

3. 拷贝功能

3.1 拷贝指定名称文件 - test1.txt

注释要另起一行写

rem * Push the working directory to a2l_srcDir and copy the test1.txt.
pushd %a2l_srcDir% 
for %%i in (test1.txt) do (echo %CBlue%%%i%CEnd%copy %%i %destDir% /y)
popd

3.2 拷贝指定类型文件 - *.jpg

rem * Push the working directory to elf_srcDir and copy the .jpg files.
pushd %jpg_srcDir% 
for /r %%i in (*.jpg) do (echo %CBlue%%%i%CEnd%copy %%i %destDir% /y)
popd
  • 文件名称将以蓝色显示
  • /r - 遍历当前文件夹和其子文件夹

4. 显示拷贝完成信息

echo %CGreeen%[OK]%CEnd% The Database is updated successfully!
echo press any key to exit.
pause>nul

上方代码块第一句会使[OK]以绿色显示。

脚本完整展示:

@echo off
color f0
cls
title = FileCopy
echo ***********************************************************************************
echo *     Name: FileCopy.bat                                                          *
echo *     Author: Thor @Department A                                                  *
echo *     Version: V1.0                                                               *
echo *     Target: This script is written for copy target files (test1.txt and .jpg)   *
echo *             from a source directory to a target directory.                      *
echo ***********************************************************************************rem * Set font color variable
set CGreeen=ESC[32m
Set CRed=ESC[31m
set CBlue=ESC[34m
Set CEnd=ESC[30mrem * Set source and target directory
set destDir=C:\Users\ddd
set txt_srcDir=C:\Users\aaa
set jpg_srcDir=C:\Users\eeerem * Print the set info
echo %CRed%Note:%CEnd% The database will be copied from a 'srcDir' to 'destDir'
echo       -txt_srcDir-  : %a2l_srcDir%
echo       -jpg_srcDir-  : %elf_srcDir%
echo       -destDir- : %destDir%rem * Push the working directory to a2l_srcDir and copy the test1.txt.
pushd %a2l_srcDir% 
for %%i in (test1.txt) do (echo %CBlue%%%i%CEnd%copy %%i %destDir% /y)
popdrem * Push the working directory to elf_srcDir and copy the .jpg files.
pushd %jpg_srcDir% 
for /r %%i in (*.jpg) do (echo %CBlue%%%i%CEnd%copy %%i %destDir% /y)
popdecho %CGreeen%[OK]%CEnd% The Database is updated successfully!
echo press any key to exit.
pause>nul

运行界面:(文章中更改了脚本中部分变量名和显示名称
运行界面

Reference

感谢以下连接中提及关于批处理的介绍,没有你们的分享,就不会有这个脚本的产生。
[1]: 批处理基础语法
[2]: 显示彩色文字编辑方法
[3]: 文字色号介绍

这篇关于Windows批处理 - 从源路径拷贝指定文件至目标位置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/659312

相关文章

Linux挂载linux/Windows共享目录实现方式

《Linux挂载linux/Windows共享目录实现方式》:本文主要介绍Linux挂载linux/Windows共享目录实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录文件共享协议linux环境作为服务端(NFS)在服务器端安装 NFS创建要共享的目录修改 NFS 配

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

利用Python把路径转为绝对路径的方法

《利用Python把路径转为绝对路径的方法》在Python中,如果你有一个相对路径并且想将其转换为绝对路径,你可以使用Path对象的resolve()方法,Path是Python标准库pathlib中... 目录1. os.path.abspath 是什么?怎么用?基本用法2. os.path.abspat

Java中实现对象的拷贝案例讲解

《Java中实现对象的拷贝案例讲解》Java对象拷贝分为浅拷贝(复制值及引用地址)和深拷贝(递归复制所有引用对象),常用方法包括Object.clone()、序列化及JSON转换,需处理循环引用问题,... 目录对象的拷贝简介浅拷贝和深拷贝浅拷贝深拷贝深拷贝和循环引用总结对象的拷贝简介对象的拷贝,把一个

Oracle数据库在windows系统上重启步骤

《Oracle数据库在windows系统上重启步骤》有时候在服务中重启了oracle之后,数据库并不能正常访问,下面:本文主要介绍Oracle数据库在windows系统上重启的相关资料,文中通过代... oracle数据库在Windows上重启的方法我这里是使用oracle自带的sqlplus工具实现的方

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

SpringBoot实现不同接口指定上传文件大小的具体步骤

《SpringBoot实现不同接口指定上传文件大小的具体步骤》:本文主要介绍在SpringBoot中通过自定义注解、AOP拦截和配置文件实现不同接口上传文件大小限制的方法,强调需设置全局阈值远大于... 目录一  springboot实现不同接口指定文件大小1.1 思路说明1.2 工程启动说明二 具体实施2

SpringBoot路径映射配置的实现步骤

《SpringBoot路径映射配置的实现步骤》本文介绍了如何在SpringBoot项目中配置路径映射,使得除static目录外的资源可被访问,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一... 目录SpringBoot路径映射补:springboot 配置虚拟路径映射 @RequestMapp

java -jar example.jar 产生的日志输出到指定文件的方法

《java-jarexample.jar产生的日志输出到指定文件的方法》这篇文章给大家介绍java-jarexample.jar产生的日志输出到指定文件的方法,本文给大家介绍的非常详细,对大家的... 目录怎么让 Java -jar example.jar 产生的日志输出到指定文件一、方法1:使用重定向1、