需要一个批处理文件来编辑包含列表中值的文本文件,然后另存为新文件

Posted

技术标签:

【中文标题】需要一个批处理文件来编辑包含列表中值的文本文件,然后另存为新文件【英文标题】:Need a batch file to edit a text file with values from a list then save as new 【发布时间】:2013-10-24 22:23:09 【问题描述】:

我需要像这样输出一个文件:

Number  App_Date    Reference   Approval
01/00   24/10/2013  REFERENCE01 12345

第一行是不变的,但我需要将第二行更改为列表中的变量,(目前它们在 .csv 文件中,但也可以使用 txt)然后保存为文档参考。

即上面的文件是 REFERENCE01.txt

下一个文件将是例如:REFERENCE03.txt

Number  App_Date    Reference   Approval
03/04   24/10/2013  REFERENCE03 54321

目前 .csv 文件类似于:

Number  App_Date    Reference   Approval
01/00   24/10/2013  REFERENCE01 12345
03/04   24/10/2013  REFERENCE03 54321
13/00   24/10/2013  REFERENCE13 67890

任何人都可以提供任何帮助将不胜感激

【问题讨论】:

欢迎来到 ***!您能否在问题中包含您已经尝试过的内容? 【参考方案1】:

试试这个批处理文件。按需调整

@echo off

    setlocal enableextensions enabledelayedexpansion

    set input=data.csv

    for /F "tokens=*" %%h in ('type "%input%" ^| find "App_Date"') do (
        set header=%%h
    )

    for /F "tokens=*" %%l in ('type "%input%" ^| findstr /r "REFERENCE[0-9]" ') do (
        for /F "tokens=3" %%r in ('echo %%l') do (
            echo %header% 
            echo %%l      
        ) > %%r.txt
    )

    endlocal

【讨论】:

【参考方案2】:
for /f  "skip=1 tokens=*" %%i in (file) do (for /f "usebackq tokens=1-4" %%a in ('%%i') do (echo Number  App_Date    Reference   Approval>"%%c.txt"&echo %%i>>"%%c.txt"))

试试看。 . . ;)

【讨论】:

其实很接近。我唯一看到的错误是您的输出文件缺少 .txt 扩展名

以上是关于需要一个批处理文件来编辑包含列表中值的文本文件,然后另存为新文件的主要内容,如果未能解决你的问题,请参考以下文章

如何对 Windows 10 批处理文件中的参数列表进行排序

linux文本处理三剑客之 grep

如何编辑以前的 git 提交? [复制]

在网页上编辑 XML 文件并使用 PHP 保存回 XML 文件

文件处理

如何使用 SH 从文本文件创建列表?