替换特定文件夹中所有 csv 文件的标题行并在另一个文件夹中创建更新的文件?

替换特定文件夹中所有 csv 文件的标题行并在另一个文件夹中创建更新的文件?

我将定期将 csv 文件发布到特定文件夹。每当发布文件时,我都希望批处理脚本修改标题值并在单独的位置(修改后的文件夹)创建一个新文件,其文件名与原始文件相同,我仍然希望其他行具有相同的数据,只是标题不同。我在网上找到了一个脚本并试图编辑它,但我对脚本的了解不够,无法让它工作。

@SET "HEADERS=SITEID,SUBJECTID,RESULTSP,RESULTSN,RESULTSComments"
@FOR /F "DELIMS=," %%A IN ('C:\Users\Documents\scripts\Test *.csv') DO @((ECHO %HEADERS%
IN ('C:\Users\Documents\scripts\Test\Modified')"%%~A"))

这个脚本到底哪里出了问题?

我将使用 Active Batch 来安排脚本在新文件发布到文件夹时运行。

答案1

试试这个代码,它对我有用......

@echo off

:: Put the path to the original CSV files here:
set OldCSVPath=Original
:: Put the path to the new CSV files here:
set NewCSVPath=New

if not exist "%NewCSVPath%" md "%NewCSVPath%"

SET "HEADERS=SITEID,SUBJECTID,RESULTSP,RESULTSN,RESULTSComments"

for %%a in ("%OldCSVPath%\*.csv") do (
                                      >>"%NewCSVPath%\%%~nxa" echo %HEADERS%
                                      for /f "skip=1 Delims=" %%b in ('type "%%a"') do >>"%NewCSVPath%\%%~nxa" echo %%b
                                     )
exit

以下是我的测试:更改标题.gif

相关内容