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

相关文章

hdu2544(单源最短路径)

模板题: //题意:求1到n的最短路径,模板题#include<iostream>#include<algorithm>#include<cstring>#include<stack>#include<queue>#include<set>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#i

烟火目标检测数据集 7800张 烟火检测 带标注 voc yolo

一个包含7800张带标注图像的数据集,专门用于烟火目标检测,是一个非常有价值的资源,尤其对于那些致力于公共安全、事件管理和烟花表演监控等领域的人士而言。下面是对此数据集的一个详细介绍: 数据集名称:烟火目标检测数据集 数据集规模: 图片数量:7800张类别:主要包含烟火类目标,可能还包括其他相关类别,如烟火发射装置、背景等。格式:图像文件通常为JPEG或PNG格式;标注文件可能为X

poj 1734 (floyd求最小环并打印路径)

题意: 求图中的一个最小环,并打印路径。 解析: ans 保存最小环长度。 一直wa,最后终于找到原因,inf开太大爆掉了。。。 虽然0x3f3f3f3f用memset好用,但是还是有局限性。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#incl

POJ1269 判断2条直线的位置关系

题目大意:给两个点能够确定一条直线,题目给出两条直线(由4个点确定),要求判断出这两条直线的关系:平行,同线,相交。如果相交还要求出交点坐标。 解题思路: 先判断两条直线p1p2, q1q2是否共线, 如果不是,再判断 直线 是否平行, 如果还不是, 则两直线相交。  判断共线:  p1p2q1 共线 且 p1p2q2 共线 ,共线用叉乘为 0  来判断,  判断 平行:  p1p

在 Windows 上部署 gitblit

在 Windows 上部署 gitblit 在 Windows 上部署 gitblit 缘起gitblit 是什么安装JDK部署 gitblit 下载 gitblit 并解压配置登录注册为 windows 服务 修改 installService.cmd 文件运行 installService.cmd运行 gitblitw.exe查看 services.msc 缘起

【408DS算法题】039进阶-判断图中路径是否存在

Index 题目分析实现总结 题目 对于给定的图G,设计函数实现判断G中是否含有从start结点到stop结点的路径。 分析实现 对于图的路径的存在性判断,有两种做法:(本文的实现均基于邻接矩阵存储方式的图) 1.图的BFS BFS的思路相对比较直观——从起始结点出发进行层次遍历,遍历过程中遇到结点i就表示存在路径start->i,故只需判断每个结点i是否就是stop

批处理以当前时间为文件名创建文件

批处理以当前时间为文件名创建文件 批处理创建空文件 有时候,需要创建以当前时间命名的文件,手动输入当然可以,但是有更省心的方法吗? 假设我是 windows 操作系统,打开命令行。 输入以下命令试试: echo %date:~0,4%_%date:~5,2%_%date:~8,2%_%time:~0,2%_%time:~3,2%_%time:~6,2% 输出类似: 2019_06

Windows如何添加右键新建菜单

Windows如何添加右键新建菜单 文章目录 Windows如何添加右键新建菜单实验环境缘起以新建`.md`文件为例第一步第二步第三步 总结 实验环境 Windows7 缘起 因为我习惯用 Markdown 格式写文本,每次新建一个.txt后都要手动修改为.md,真的麻烦。如何在右键新建菜单中添加.md选项呢? 网上有很多方法,这些方法我都尝试了,要么太麻烦,要么不凑效

Android Environment 获取的路径问题

1. 以获取 /System 路径为例 /*** Return root of the "system" partition holding the core Android OS.* Always present and mounted read-only.*/public static @NonNull File getRootDirectory() {return DIR_ANDR

遮罩,在指定元素上进行遮罩

废话不多说,直接上代码: ps:依赖 jquer.js 1.首先,定义一个 Overlay.js  代码如下: /*遮罩 Overlay js 对象*/function Overlay(options){//{targetId:'',viewHtml:'',viewWidth:'',viewHeight:''}try{this.state=false;//遮罩状态 true 激活,f