首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >批处理替换多个子文件夹中的多个文件

问批处理替换多个子文件夹中的多个文件
EN

Stack Overflow用户
提问于 2015-03-23 23:55:51
回答 1查看 635关注 0票数 0

我刚加入堆栈溢出是因为你们太棒了。所以我已经批量脚本一年了,是的,我知道这和“飘”一样古老,但我别无选择。

我的批处理问题是这样的。我需要将c:\Folder4 1\ *.bat与E:\Folder4 4\*.bat进行比较,并且只返回匹配的".bat“文件。我可以很容易地用这个代码.

对于/R c:\folder1 1\%I在(.bat)中,如果存在“E:\folder1 4\%%~nxi”(回显%~ni)

然后,我可以继续做我想做的事情,其中大部分是备份和替换。然而,我只是偶然发现了一些有趣的东西。我现在需要执行相同的操作,但如下所示:

将c:\folder1*.bat中的文件与

E:\Folder4 4\subfolder1 1\ *.bat E:\Folder4 4\subfolder2 2\ *.bat E:\Folder4 4\subfolder3 3\ *.bat E:\Folder4 4\subfolder4 4\ *.bat E:\Folder4 4\subfolder5 5\ *.bat E:\Folder4 4\subfolder6 6\ *.bat

诸若此类。

我的批处理问题是,如何比较c:\folder1*.bat中的内容,看看每个E:\Folder4 4\子文件夹中是否也有?一旦完成,我还需要将E:\Folder4 4\子文件夹中的内容替换为来自c:\folder1*.bat的匹配文件。我用其他语言做过这件事,但不知道如何在批处理中完成。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-24 03:13:31

如果我正确地理解了你的问题,那么像这样的事情可能会奏效:

代码语言:javascript
复制
for %%i in (
     "D:\Folder4\subfolder1\*.bat"
     "D:\Folder4\subfolder2\*.bat"
     "D:\Folder4\subfolder3\*.bat"
     "D:\Folder4\subfolder4\*.bat"
     "D:\Folder4\subfolder5\*.bat"
     "D:\Folder4\subfolder6\*.bat"
    ) do XCOPY /U /Y "C:\folder1\*.bat" "%%i"

基本上,XCOPY命令有我认为您需要的选项。

编辑

我的理解在增长:P ...this也许更多的是你想要的:

代码语言:javascript
复制
@echo off
for /r D:\Folder4\ %%i in (*.bat) do (
for /r C:\folder\ %%j in (*.bat) do (
if %%~ni == %%~nj XCOPY /U /Y "%%j" "%%i"
)
)
pause
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29222615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档