Board logo

标题: [文本处理] BAT批量在多个csv文件第一行前面插入内容? [打印本页]

作者: a1961135586    时间: 2020-9-1 10:31     标题: BAT批量在多个csv文件第一行前面插入内容?

多个csv文件,需要在每个文件的内容第一行最前面增加指定内容"time",并且跟原来的内容在一行,批处理语句怎么写?
例如:
原文:
111
222
333

修改后:
time111
222
333


之前看过一个方法,但是有个点不符合,它会在在前面添加一行,这个怎么优化成跟原来第一行的内容并存在第一行?
  1. @echo off
  2. :: 注意把要加的内容写在第8(即代码中more +8的那个数)行之下
  3. for %%i in (*.csv) do (
  4.     more +8 "%~0" > "%%i.tmp"
  5.     type "%%i" >> "%%i.tmp"
  6.     move /y "%%i.tmp" "%%i"
  7. )
  8. goto :eof
  9. time
复制代码

作者: Batcher    时间: 2020-9-1 12:10

回复 1# a1961135586
  1. @echo off
  2. for /f "delims=" %%i in ('dir /b /a-d *.csv') do (
  3.     set /p =time<nul >"%%i.tmp"
  4.     type "%%i" >> "%%i.tmp"
  5.     move /y "%%i.tmp" "%%i"
  6. )
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2