You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

创建批处理文件:复制文件并在文件名后追加文件版本

批处理文件实现带版本号的文件复制解决方案

你的原脚本存在核心问题:错误使用set /p命令,set /p用于读取用户输入,无法捕获命令执行结果,因此无法正确获取文件版本号。以下是修正后的可行脚本:

@echo off
setlocal enabledelayedexpansion

:: 定义目标文件路径
set "target_file=C:\Users\user\Desktop\Test\GCM.exe"

:: 提取文件的基础信息(文件名、后缀、所在目录)
for %%f in ("%target_file%") do (
    set "file_name=%%~nf"
    set "file_ext=%%~xf"
    set "file_dir=%%~df%%~pf"
)

:: 通过WMIC获取文件版本号,过滤无效输出
for /f "tokens=2 delims==" %%v in ('wmic datafile where name^="%target_file:\=\\%" get Version /value ^| findstr "^Version="') do (
    set "file_version=%%v"
)

:: 执行复制操作,生成带版本号的新文件
copy "%target_file%" "%file_dir%%file_name%-%file_version%%file_ext%"

pause
endlocal

关键说明:

  • setlocal enabledelayedexpansion:启用延迟变量扩展,确保循环内的变量赋值能被正确读取
  • 文件路径处理:WMIC要求路径中的反斜杠转义为\\,同时where子句的等号前需加^转义,避免命令解析错误
  • 版本号提取:用findstr "^Version="过滤WMIC输出的空行和冗余内容,只保留有效版本号
  • 文件名拼接:自动提取原文件的名称、后缀和目录,无需硬编码新文件路径

内容的提问来源于stack exchange,提问作者user22264282

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 18:42:39