[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

  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 文件的第一列
但是有一个问题这一列的第一行也就是表头会变成文件名
如何实现 表头 (第一行)为“文件来源” 单独给出呢

请举个例子说明一下

TOP

回复 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
要怎么实现呢

TOP

  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

TOP

回复 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 标题加了逗号分隔才能把表头分列 还是很感谢!

TOP

返回列表