如何使用批处理文件打开多个文件夹并替换所有文件内容

时间:2011-03-14 05:24:06

标签: batch-file

我是新手编写批处理文件。任何人都可以告诉我如何从根文件夹打开所有文件夹并打开其中的所有文件并更改其内容。意味着如果“C:\ abc \ xyz”现在'abc'文件夹中的所有文件都应该更改其内容,然后是'xyz'文件夹中的所有文件。现在我有更改文件内容的代码。请告诉我如何进入文件夹和子文件夹并更改所有文件...

替换文件中的字符串的代码

@echo off
setlocal enabledelayedexpansion
set INTEXTFILE=b.txt
set OUTTEXTFILE=test_out.txt
set SEARCHTEXT=path
set REPLACETEXT=hello
set OUTPUTLINE=

for /f "tokens=1,* delims=¶" %%A in ( '"type %INTEXTFILE%"') do (
SET string=%%A
SET modified=!string:%SEARCHTEXT%=%REPLACETEXT%!

echo !modified! >> %OUTTEXTFILE%
)
del %INTEXTFILE%
rename %OUTTEXTFILE% %INTEXTFILE%   

使用以下代码,我将获得D:

中的所有文件

@echo off 如果存在D:\ *。*转到过程 回声不存在

:过程 for %% a in(D:\ *。*)do echo %% a

通过appling'/ d'我得到所有文件夹

for / d %% a in(D:\ )做echo %% a

但是我无法一起使用它们......我想要所有文件夹中的所有文件

1 个答案:

答案 0 :(得分:0)

阅读HELP FOR,然后尝试FOR /R %A IN (*.TXT) DO ECHO %A

然后相应地修改您的批处理文件,添加类似

的内容
FOR /R %%A IN (*.TXT) DO (
  ECHO %%A
  FOR /F %%B in (%%A) DO (
     ECHO %%B
  )
)