Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 如何使用批处理文件打开多个文件夹并替换所有文件内容_Batch File - Fatal编程技术网

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

Batch file 如何使用批处理文件打开多个文件夹并替换所有文件内容,batch-file,Batch File,我不熟悉编写批处理文件。谁能告诉我如何从根文件夹打开所有文件夹,打开其中的所有文件并更改其内容。表示如果C:\abc\xyz现在“abc”文件夹中的所有文件都应更改其内容,然后更改“xyz”文件夹中的所有文件。现在我有了更改文件内容的代码。请告诉我如何进入文件夹和子文件夹,并得到所有的文件更改 替换文件中字符串的代码 @echo off setlocal enabledelayedexpansion set INTEXTFILE=b.txt set OUTTEXTFILE=test_out.tx

我不熟悉编写批处理文件。谁能告诉我如何从根文件夹打开所有文件夹,打开其中的所有文件并更改其内容。表示如果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中获取所有文件:

@回音 如果存在D:\*.*转到进程 回音不存在

:进程 对于D中的%%a:\*.*执行回显%%a

通过应用“/d”,我可以得到所有文件夹

对于d中的a%%d:\ . 做回显%%a

但是,我无法同时使用它们…我希望所有文件夹中的所有文件阅读帮助,然后在*.TXT中尝试/R%A执行ECHO%A

然后相应地修改批处理文件,添加如下内容

FOR /R %%A IN (*.TXT) DO (
  ECHO %%A
  FOR /F %%B in (%%A) DO (
     ECHO %%B
  )
)
请阅读帮助,然后在*.TXT中尝试/R%A执行回显%A

然后相应地修改批处理文件,添加如下内容

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

使用此代码,我确实获取了D:@echo关闭(如果存在)D:.*转到进程echo不存在:处理%%a in D:.*执行echo%%a并通过应用'/D',我确实获取了D:.*执行echo%%a中/D%%a的所有文件夹。但是,我无法将它们一起使用…我希望所有文件夹中的所有文件都是您刚才在*.*执行echo%a中尝试的/R%a没有IF EXIST检查?谢谢您的帮助@echo off SET filLoc=C:\Users for/r%filLoc%%%x IN。DO echo%%x使用此代码,我确实在D:@echo off中获取所有文件,如果存在D::.*转到进程echo不存在:在D:.*DO echo%%a中处理%%a:.*通过应用'/D',我确实在D::.*DO echo%%a中获取/D%%a的所有文件夹,但我无法将它们一起使用…我想要所有文件夹中的所有文件您刚才在*.*中尝试了/R%a吗没有IF EXIST检查的ECHO%A?感谢您的帮助@ECHO off SET filLoc=C:\Users for/r%filLoc%%%x IN。你要回显%%x吗