bat 脚本批量复制文件,并加上版本号和日期后缀
【摘要】 你可以使用批处理文件(.bat)来实现将一个文件复制到指定目录,并在文件名后加上版本号和日期后缀。以下是一个示例脚本,展示了如何实现这个功能:@echo offsetlocal enabledelayedexpansion:: 设置变量set "source_file=C:\path\to\your\source\file.txt"set "target_dir=C:\path\to\you...
你可以使用批处理文件(.bat)来实现将一个文件复制到指定目录,并在文件名后加上版本号和日期后缀。以下是一个示例脚本,展示了如何实现这个功能:
@echo off
setlocal enabledelayedexpansion
:: 设置变量
set "source_file=C:\path\to\your\source\file.txt"
set "target_dir=C:\path\to\your\target\directory"
set "version=1.0"
:: 获取当前日期,格式为YYYYMMDD
for /f "tokens=2 delims==" %%i in ('wmic os get localdatetime /value') do set datetime=%%i
set "datestamp=%datetime:~0,4%%datetime:~4,2%%datetime:~6,2%"
:: 构造目标文件名
set "filename=%~nx0_v!version!_!datestamp!"
set "target_file=%target_dir%\%filename%"
:: 复制文件并添加后缀
copy "%source_file%" "%target_file%"
:: 输出结果
echo 文件已复制到: %target_file%
endlocal
pause
脚本说明:
-
设置变量:
source_file
:源文件路径。target_dir
:目标目录路径。version
:版本号。
-
获取当前日期:
- 使用
wmic os get localdatetime /value
命令获取当前日期和时间,并将其转换为YYYYMMDD
格式。
- 使用
-
构造目标文件名:
- 使用
%~nx0
提取源文件的名称和扩展名(不过这里应该使用%~nxsource_file%
替代%~nx0
以正确提取source_file
的名称和扩展名,因为%~nx0
是批处理文件本身的名称和扩展名)。 - 将版本号和日期后缀添加到文件名中。
- 使用
-
复制文件:
- 使用
copy
命令将源文件复制到目标目录,并命名为新的文件名。
- 使用
-
输出结果:
- 输出文件复制到的路径。
-
暂停:
- 使用
pause
命令暂停脚本执行,以便查看输出结果(可选)。
- 使用
注意事项:
- 确保
source_file
和target_dir
变量设置为正确的路径。 wmic
命令在某些情况下可能需要管理员权限运行。- 如果文件名中包含特殊字符或空格,可能需要对路径进行适当处理。
你可以将上述脚本保存为一个 .bat
文件,然后双击运行它。这样,指定的文件就会被复制到目标目录,并带有版本号和日期后缀。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)