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

编写批处理脚本:提取CAM文件内容重命名后复制文件

修改后的BAT脚本:实现.CAM文件重命名后复制

以下脚本会先遍历指定目录下的所有.CAM文件,提取每个文件第5行中以W2开头、后跟任意数字、以504结尾的字符串作为新文件名,完成重命名后再执行原有的复制操作:

@ECHO OFF
SETLOCAL EnableDelayedExpansion

:: 定义源文件所在目录
SET "sourceDir=M:\1101\Tipo\NT"

:: 遍历目录下所有.CAM文件
FOR %%F IN ("%sourceDir%\*.CAM") DO (
    :: 读取文件第5行内容
    SET "line5="
    FOR /F "skip=4 delims=" %%L IN ("%%F") DO (
        IF NOT DEFINED line5 SET "line5=%%L"
    )
    
    :: 从第5行提取符合格式的字符串(W2开头、数字结尾504)
    SET "newName="
    FOR /F "tokens=*" %%S IN ('echo !line5! ^| findstr /R "W2[0-9]*504"') DO (
        SET "newName=%%S"
    )
    
    :: 执行重命名(仅当提取到有效名称时)
    IF DEFINED newName (
        RENAME "%%F" "!newName!.CAM"
        ECHO 已重命名:"%%~nxF" → "!newName!.CAM"
    ) ELSE (
        ECHO 警告:文件"%%~nxF"的第5行未找到符合要求的字符串,跳过重命名
    )
)

:: 执行复制操作
ECHO 开始复制文件...
copy "%sourceDir%\*" K:\
copy "%sourceDir%\*" M:\1101\Tipo

PAUSE
ENDLOCAL

关键说明

  • SETLOCAL EnableDelayedExpansion:启用延迟变量扩展,确保循环内的变量赋值能正常读取
  • skip=4:通过跳过前4行,精准读取文件的第5行内容
  • findstr /R "W2[0-9]*504":使用正则表达式匹配目标格式的字符串,确保只提取符合要求的文件名
  • 重命名操作完成后再执行复制,保证复制的是更新后的文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 21:08:10