批处理文件:如何操作文件的内容

时间:2012-08-14 05:59:34

标签: batch-file dos

我有一个包含绝对地址的Input.txt文件:

我正在从这个目录运行批处理文件:“D:\ FINAL \ FINAL_3 \ mybatch.bat” Input.txt出现在:“D:\ FINAL \ FINAL_3 \ Input.txt”

INPUT.TXT:

  

d:\ FINAL \ FINAL_3 \ XX \ YY \用户\ SRC \ abc.c   d:\ FINAL \ FINAL_3 \ QQ \ WW \ SRC \ def.c

Output_Template.txt

  

第1行:BLA BLA BLA
  第2行:BLA BLA BLA
  N行:BLA BLA BLA

RelativeFile = File =

  

第1行:BLA BLA BLA
  第2行:BLA BLA BLA
  N行:BLA BLA BLA

现在,我需要使用Input.txt和Output_Template.txt中的信息创建一个新的Output.txt文件:

Output.txt的

  

第1行:BLA BLA BLA
  第2行:BLA BLA BLA
  N行:BLA BLA BLA

RelativeFile =。\ xx \ yy \ User \ src \ abc.c
File = D:\ FINAL \ FINAL_3 \ xx \ yy \ User \ src \ abc.c
RelativeFile =。\ qq \ ww \ src \ def.c
File = D:\ FINAL \ FINAL_3 \ qq \ ww \ src \ def.c

  

第1行:BLA BLA BLA
  第2行:BLA BLA BLA
  N行:BLA BLA BLA

我在做的是:
读取Input.txt的内容并将其写入Output.txt

  

for / f“tokens = * delims =”%% a in(%CD%\ Input.txt)do(
  echo FILE = %% a>> %FILE_NAME%
  )

这只是打印:

  

文件= D:\ FINAL \ FINAL_3 \ xx \ yy \ User \ src \ abc.c
  File = D:\ FINAL \ FINAL_3 \ qq \ ww \ src \ def.c

1 个答案:

答案 0 :(得分:2)

您的脚本甚至没有阅读模板。是否可以使用两个模板,一个用于文件路径上方的所有内容,另一个用于下面的所有内容?这将使它们与文件路径的组合变得更加容易。

要获取相对路径,您可以使用波浪号(〜)语法从%%变量中提取所需内容。请参阅this question