问一个批处理改文件的事

来源:百度知道 编辑:UC知道 时间:2024/05/31 23:18:20
情况如下,有二个文件夹,分别是A与B。已经通过TREE命令将A文件夹下的文件名全部提取出来到一个名为1.txt文件。现在B文件夹有很多文件名不一样的文件。

我的问题是。
怎么用已经提取出来的A目录下的所有文件名,替换掉B文件夹目录内的文件。只要求B文件夹内的文件与A文件夹内的文件名相同即可。请各位帮忙
用fastslz兄说的办法,BAT文件把A目录的文件复制到B目录了。我的目的是把A目录里的文件名全部提取出来,然后去更改B目录里的文件名,复制的话我直接COPY不就完了。晕

你的问题好像有点矛盾吧。。。
两种理解
1、也就是把A里面的文件覆盖到B文件夹下
2、根据你补充的说明,根本A文件夹下的文件名来重命名B文件夹下的文件
是这种方案的话,那你怎么让它形成一个一一对应的关系呢?
难道是只要最后B中重命名之后的文件把A全部包括就可以了,根本不考虑对应关系吗?

下面代码另存为.bat放在A文件夹里
@echo off
for %%a in (*.*) do if exist "..\B\%%a" copy /y "%%a" "..\B\"

或者下面代码另存为.bat放在A和B文件夹同级目录里
@echo off
copy /y .\A\*.* .\B\

再或者下面代码另存为.bat放在A和B文件夹同级目录里
@echo off
for /r .\A\ %%a in (*.*) do if exist ".\B\%%~nxa" copy /y "%%a" ".\B\"

++++++++++++++++++++++++++++++++++++
只能说你提问语言表达能力不强

显示A文件夹里的文件并复制到B文件夹
@echo off
for /r .\A\ %%a in (*.*) do echo %%a& copy /y "%%a" ".\B\"

打印A文件夹里的文件并复制到B文件夹
@echo off
for /r .\A\ %%a in (*.*) do >>A_Tree.txt echo %%a&(copy /y "%%a" ".\B\")