Board logo

标题: [文本处理] 求助批处理批量给txt首行加入内容 [打印本页]

作者: xiaohutok1    时间: 2021-9-30 17:46     标题: 求助批处理批量给txt首行加入内容

求助,批量给 指定文件名 的txt 首行 加入内容
包含子文件夹
作者: idwma    时间: 2021-9-30 18:44

  1. @powershell "type '%~0'|select -skip 1|out-string|iex"&pause&exit
  2. $f='指定文件名.txt'
  3. foreach ($b in (dir -in $f -r)) {
  4. $a=gc $b.fullname;
  5. (echo 首行加入内容)>$b.fullname;
  6. $a>>$b.fullname;
  7. }
复制代码

作者: xiaohutok1    时间: 2021-9-30 19:28

回复 2# idwma


    你好,非常感谢。 但是处理后文件编码变了,能默用utf8吗
作者: idwma    时间: 2021-9-30 21:10

  1. @powershell "type '%~0'|select -skip 1|out-string|iex"&pause&exit
  2. $f='指定文件名.txt'
  3. $c='首行加入内容'
  4. foreach ($b in (dir -in $f -r)) {
  5. $a=gc $b.fullname;
  6. $c,$a|out-file $b.fullname -Encoding utf8
  7. }
复制代码

作者: leod1988    时间: 2023-9-7 16:58

很棒,也解决了我的难题,感恩
作者: Batcher    时间: 2023-9-7 17:21

回复 5# leod1988


请参考Q-04和Q-05把bat文件和txt文件都保存为UTF-8编码:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA

这样可以不依赖PowerShell
  1. @echo off
  2. chcp 65001 >nul
  3. cd /d "%~dp0"
  4. for /f "delims=" %%i in ('dir /b /s /a-d *.txt') do (
  5.     echo 正在处理文件 "%%i"
  6.     >"%%~ni.ttttt" echo 首行加入内容
  7.     >>"%%~ni.ttttt" type "%%i"
  8.     move /y "%%~ni.ttttt" "%%i" >nul
  9. )
复制代码





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