找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 26982|回复: 4

[文本处理] 求助 批量 在csv中 加入文件名 一列 但表头(即列的名称) 单独给出

[复制链接]
发表于 2017-2-20 16:31:51 | 显示全部楼层 |阅读模式
  1. @echo off
  2. cd /d "%~dp0"
  3. md "$结果" 2>nul
  4. for %%a in ("%cd%") do set "fd=%%~nxa"
  5. for /f "delims=" %%a in ('dir /a-d/b *.csv') do (
  6.     (for /f "delims=" %%b in ('type "%%a"') do (
  7.         echo;%fd%,%%~na,%%b
  8.     ))>"$结果\%%a"
  9. )
  10. pause
复制代码
如题我已经查询了如何批量将文件名加入到csv 文件的第一列
但是有一个问题这一列的第一行也就是表头会变成文件名
如何实现 表头 (第一行)为“文件来源” 单独给出呢
发表于 2017-2-20 20:37:48 | 显示全部楼层
请举个例子说明一下
 楼主| 发表于 2017-2-21 14:39:13 | 显示全部楼层
回复 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
要怎么实现呢
发表于 2017-2-21 16:00:37 | 显示全部楼层
  1. @echo off
  2. cd /d "%~dp0"
  3. md "$结果" 2>nul
  4. for %%a in ("%cd%") do set "fd=%%~nxa"
  5. for /f "delims=" %%a in ('dir /a-d/b *.csv') do (
  6.     echo;文件名    A    B     C >"$结果\%%a"
  7.     (for /f "delims=" %%b in ('type "%%a"') do (
  8.         echo;%fd%,%%~na,%%b
  9.     ))>>"$结果\%%a"
  10. )
  11. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
老刘1号 + 1 终于懂得缩进了……内牛满面

查看全部评分

 楼主| 发表于 2017-3-3 23:00:01 | 显示全部楼层
回复 4# taofan712
非常感谢
  1. @echo off
  2. cd /d "%~dp0"
  3. md "$结果" 2>nul
  4. for %%a in ("%cd%") do set "fd=%%~nxa"
  5. for /f "delims=" %%a in ('dir /a-d/b *.csv') do (
  6.     echo;"文件名" , A  , B  , C >"$结果\%%a"
  7.     (for /f "delims=" %%b in ('type "%%a"') do (
  8.         echo;%fd%,%%~na,%%b
  9.     ))>>"$结果\%%a"
  10. )
  11. pause
复制代码
ABC 标题加了逗号分隔才能把表头分列 还是很感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 16:43 , Processed in 0.063987 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表