标题: [文本处理] 求助 批量 在csv中 加入文件名 一列 但表头(即列的名称) 单独给出 [打印本页]
作者: 猫不改吃小鱼干 时间: 2017-2-20 16:31 标题: 求助 批量 在csv中 加入文件名 一列 但表头(即列的名称) 单独给出
- @echo off
- cd /d "%~dp0"
- md "$结果\" 2>nul
- for %%a in ("%cd%") do set "fd=%%~nxa"
- for /f "delims=" %%a in ('dir /a-d/b *.csv') do (
- (for /f "delims=" %%b in ('type "%%a"') do (
- echo;%fd%,%%~na,%%b
- ))>"$结果\%%a"
- )
- pause
复制代码
如题我已经查询了如何批量将文件名加入到csv 文件的第一列
但是有一个问题这一列的第一行也就是表头会变成文件名
如何实现 表头 (第一行)为“文件来源” 单独给出呢
作者: GNU 时间: 2017-2-20 20:37
请举个例子说明一下
作者: 猫不改吃小鱼干 时间: 2017-2-21 14:39
回复 2# GNU
比如原来 csv 是
A B C
1 2 3
2 3 4
运行上面的批处理后,
能够将文件名加进去
比如文件名是 wjm
那么得到的是
wjm A B C
wjm 1 2 3
wjm 2 3 4
但是我不想在第一行加入wjm 比如我想要是“文件名”
即得到
文件名 A B C
wjm 1 2 3
wjm 2 3 4
要怎么实现呢
作者: taofan712 时间: 2017-2-21 16:00
- @echo off
- cd /d "%~dp0"
- md "$结果\" 2>nul
- for %%a in ("%cd%") do set "fd=%%~nxa"
- for /f "delims=" %%a in ('dir /a-d/b *.csv') do (
- echo;文件名 A B C >"$结果\%%a"
- (for /f "delims=" %%b in ('type "%%a"') do (
- echo;%fd%,%%~na,%%b
- ))>>"$结果\%%a"
- )
- pause
复制代码
作者: 猫不改吃小鱼干 时间: 2017-3-3 23:00
回复 4# taofan712
非常感谢- @echo off
- cd /d "%~dp0"
- md "$结果\" 2>nul
- for %%a in ("%cd%") do set "fd=%%~nxa"
- for /f "delims=" %%a in ('dir /a-d/b *.csv') do (
- echo;"文件名" , A , B , C >"$结果\%%a"
- (for /f "delims=" %%b in ('type "%%a"') do (
- echo;%fd%,%%~na,%%b
- ))>>"$结果\%%a"
- )
- pause
复制代码
ABC 标题加了逗号分隔才能把表头分列 还是很感谢!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |