如何在许多文件夹中的许多文件中添加新行?

时间:2014-09-12 22:36:34

标签: windows batch-file

我得到了一些我真正想做的事情(但我自己也做不到),我确信批量是正确的工具。然而,我确实对它有一个非常肤浅的知识,所以即使我真的不想要求它,我特此要求这个社区(或更多)的某些善意的想法制作一个程序或其中的一部分我:s (仅供个人使用)
如果共享一个程序的组件,我当然会尝试组装一个程序,但我不希望能够这样做...
在研究中,我发现了这个link,我觉得它有点有用......

问题如下: 我有47个文件夹。每个文件夹都有不同数量的txt文件。总共有10633个txt文件,它们的名字大多是随机的 我需要在所有txt文件中添加1行新文本,理想情况是在文件的末尾,但如果更容易,可以在第一行。

从试验'n错误,似乎我需要在每个txt文件的第3行(也就是第4行)之后插入新行...

我在这里试过这段代码,唯一的成功就是没有ctd

 ::@echo off
setlocal enabledelayedexpansion
set num = 0

for /r %%a in (*.txt) do (
::pause ::debug
  for /f "tokens=*" %%a in (*.txt) do (
  if !num! lss 3 echo %%a >>tmp.txt
  if !num! equ 3 echo %%a >>tmp.txt
  if !num! gtr 3 echo.blablabla >>tmp.txt
  if !num! gtr 4 echo %%a >>tmp.txt
  set /a num+=1
  )
)
move /y tmp.txt *.txt

我可以看到代码中的某些东西并不完全正确......因为它不能完全正常工作......,我只是不知道是什么

1 个答案:

答案 0 :(得分:1)

在47个其他文件夹的根文件夹中尝试此bat文件。注意:它将影响此根文件夹和子文件夹中的所有文件夹。

Append.bat

@echo off
for /r %%a in (*.txt) do Echo.>> "%%a"

将为文件夹树中的每个*.txt添加一个新行