Board logo

标题: [文本处理] 批处理如何在一个文件后面插入多个文件内容? [打印本页]

作者: xp3000    时间: 2023-11-28 07:27     标题: 批处理如何在一个文件后面插入多个文件内容?

标语这个文件夹里面有大量标语txt文件,一行一个,
同级文件夹有一年级、二年级、三年级、四年级、五年级,
年级文件夹有txt文件,里面是姓名,有的有空行,

如何在年级文件夹的每一行姓名后面插入标语文件夹的内容,空内容行不插入,输出文件名后面添加标语两个字
作者: Batcher    时间: 2023-11-28 10:16

回复 1# xp3000


    请把测试数据和目录结构打包上传到网盘
作者: xp3000    时间: 2023-11-29 09:53

本帖最后由 xp3000 于 2023-11-29 09:59 编辑

https://wormhole.app/kkMla#t8qTD-bNnhEeIQY_lZcCEQ
这个网站不知道是否有效,批处理在年级内运行
作者: Batcher    时间: 2023-11-29 10:35

回复 3# xp3000
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('dir /b /ad "*标语*"') do (
  4.     set "FolderRemark=%%i"
  5. )
  6. for /f "delims=" %%i in ('dir /b /a-d "!FolderRemark!\*.txt" ^| find /v /c ""') do (
  7.     set "NumRemark=%%i"
  8. )
  9. for /f "delims=" %%i in ('dir /b /ad "*年级*"') do (
  10.     echo --- %%i
  11.     for /f "delims=" %%j in ('dir /b /a-d "%%i\*.txt"') do (
  12.         echo %%i\%%j
  13.         (for /f "tokens=1* delims=:" %%a in ('type "%%i\%%j" ^| findstr /n .*') do (
  14.             set /a FileRemark=!random!%%^(NumRemark-1+1^)+1
  15.             set /p StrRemark=<"!FolderRemark!\!FileRemark!.txt"
  16.             if "%%b" == "" (
  17.                 echo,
  18.             ) else (
  19.                 echo,%%b !StrRemark!
  20.             )
  21.         ))>"%%i\%%~nj标语%%~xj"
  22.     )
  23. )
复制代码





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