【发布时间】:2018-01-31 09:23:46
【问题描述】:
每当空记录开始时我需要拆分一个文件,文件在同一个文件中包含多个文件结构需要使用批处理脚本拆分文件。
重要的是,每个子文件都用空记录分隔
所以数据看起来像:test.csv
sno,employee name,address,location,zip code
1,aaaa,12/34,Hyderabad,500089
2,bbbb,12/35/44,chennai,500079
3,cccc,12/31/11,pune,500069
Cardnumber,cardname,card type,card limit
12345,visa,diamond,10000
2345,master,platinum,50000
Accno,bank name,branch code,Branch location
98765,sbi,23456,hyd
12457,citi,8765,usa
4444,axis,78767,India
我需要单独的文件,如下所示 测试1.csv
sno,employye name,address,location,zipcode
1,aaaa,12/34,Hyderabad,500089
2,bbbb,12/35/44,chennai,500079
3,cccc,12/31/11,pune,500069
Test2.csv
Cardnumber,cardname,card type,card limit
12345,visa,diamond,10000
2345,master,platinum,50000
Test3.csv
Accno,bank name,branch code,Branch location
98765,sbi,23456,hyd
12457,citi,8765,usa
4444,axis,78767,india
我尝试了下面的脚本,但它没有按预期工作。
@echo off & setlocal enabledelayedexpansion
set c=0
for /f "tokens=*" %%a in (test.csv) do (
if "%%a" equ "\n" (
set /a c+=1
>f!c!.csv echo.
) else (
>> f!c!.csv echo %%a
)
)
请帮我编写上述要求的批处理脚本。提前致谢
【问题讨论】:
-
是唯一的标题行,以字母开头(如您的示例中)?
-
我怀疑@Stephan,这些例子结合了来自多个银行和国家的数据。我不喜欢不知道自己在做什么的人可以访问如此敏感的信息的想法。 我不能等到新的通用数据保护条例在这里生效。
-
@Stephen:不,详细记录也以字母开头,只是我用测试数据创建了示例文件,因为无法共享原始文件格式
标签: batch-file