Board logo

标题: [文件操作] 批处理怎样根据baseline文件夹中的模板文件生成对应的新文件? [打印本页]

作者: lvmc    时间: 2022-11-25 10:56     标题: 批处理怎样根据baseline文件夹中的模板文件生成对应的新文件?

baseline文件夹中有两个模板文件temp.cpp和temp.h
想通过执行一个xxx.bat脚本文件,实现对目标文件的复制和内容修改
"
例如:根据模板文件temp.cpp和temp.h生成文件a.cpp和a.h,并把模板中所有的关键词 temp 替换成 a
运行bat的命令如下:
xxx.bat 模板文件路径(baseline) 需要替换的关键词(a)
作者: Batcher    时间: 2022-11-25 11:58

回复 1# lvmc


    是替换文件名中的关键词?还是替换.cpp和.h文件内容里面的关键词?
作者: terse    时间: 2022-11-25 15:35

  1. @echo off
  2. rem 保存为ANSI
  3. pushd  "%~1\"
  4. set "str=%~2"
  5. set "Get=GetStandardStream"
  6. set "new=new ActiveXObject('Scripting.FileSystemObject')"
  7. for /f "delims=" %%i in ('dir /b /a-d *.cpp *.h') do (
  8.      if not exist "%str%%%~xi" (
  9.         mshta "javascript:var f=%new%;var s=f.%Get%(0).readall();f.%Get%(1).Write(s.replace(/%%~ni/g,'%str%'));close()"<"%%~fi"|findstr .* >"%str%%%~xi"
  10.      )
  11. )
  12. popd
  13. exit /b
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2