本文主要是介绍Windows批处理 - 从源路径拷贝指定文件至目标位置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Makefile @TOC
Windows批处理 - 拷贝指定格式文件【附代码详解】
在工程实践中经常需要将指定文件拷贝至目标位置,由于每次手动拷贝效率太低,因此想将这个过程自动化,并将重要信息区分颜色显示,以下是具体实现过程和代码,希望可以帮助到别人。
目录
- 关键信息显示
- 变量设定
- 拷贝功能具体实现
- 显示拷贝完毕提示信息
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批处理 - 从源路径拷贝指定文件至目标位置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!