bat 脚本批量复制文件,并加上版本号和日期后缀

举报
福州司马懿 发表于 2024/11/25 17:47:45 2024/11/25
【摘要】 你可以使用批处理文件(.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

脚本说明:

  1. 设置变量

    • source_file:源文件路径。
    • target_dir:目标目录路径。
    • version:版本号。
  2. 获取当前日期

    • 使用 wmic os get localdatetime /value 命令获取当前日期和时间,并将其转换为 YYYYMMDD 格式。
  3. 构造目标文件名

    • 使用 %~nx0 提取源文件的名称和扩展名(不过这里应该使用 %~nxsource_file% 替代 %~nx0 以正确提取 source_file 的名称和扩展名,因为 %~nx0 是批处理文件本身的名称和扩展名)。
    • 将版本号和日期后缀添加到文件名中。
  4. 复制文件

    • 使用 copy 命令将源文件复制到目标目录,并命名为新的文件名。
  5. 输出结果

    • 输出文件复制到的路径。
  6. 暂停

    • 使用 pause 命令暂停脚本执行,以便查看输出结果(可选)。

注意事项:

  • 确保 source_filetarget_dir 变量设置为正确的路径。
  • wmic 命令在某些情况下可能需要管理员权限运行。
  • 如果文件名中包含特殊字符或空格,可能需要对路径进行适当处理。

你可以将上述脚本保存为一个 .bat 文件,然后双击运行它。这样,指定的文件就会被复制到目标目录,并带有版本号和日期后缀。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。