我有一个包含18个字段的csv文件。我需要将文件复制到txt文件,删除前四行,替换字段#8中的数据,然后使用新名称保存文件。
字段#8中的数据是整数(例如1、2、3等)。每个整数都需要用一个单独的值替换(例如,我需要将1替换为1005,将3替换为1008)。我正在尝试修改/修复以下批处理文件:
@echo off
More +4 datatest.csv > datacopy.txt
( FOR /f "tokens=8 delims=," %%h in (datacopy.txt) do (
if "%%h"=="3" (echo 1008) else (
echo %%a %%b %%c` echo %%a %%b %%c
)
)
)>paygoinvoice.txt
@echo on
答案 0 :(得分:1)
tokens=1-18
,%%A..%%R
),也可以将其余*
汇总到一个变量中。@echo off & Setlocal EnableDelayedExpansion
( FOR /f "tokens=1-8* delims=," %%A in ('More +4 datatest.csv') do (
Set "H=%%H"
if "%%H"=="1" Set "H=1005"
if "%%H"=="3" Set "H=1008"
echo %%A,%%B,%%C,...,!H!,%%I
)
)>paygoinvoice.txt
@echo on