gpt4 book ai didi

file - ROBOCOPY - 将文件夹内容复制到单个文件夹

转载 作者:行者123 更新时间:2023-12-04 05:08:34 26 4
gpt4 key购买 nike

这是我制作的一些代码:)

@echo off
set source="R:\Contracts\"
set destination="R:\Contracts\Sites\"
ROBOCOPY %source% %destination% *.srt *.pdf *.mp4 *.jpg /COPYALL /R:0 /S
for /r %source in (*) do @copy "%destination" .

R:\Contracts\充满了其中包含文件的文件夹。

我想将所有内容复制到 R:\Contracts\Sites\并将文件夹结构展平。

一切都很好,但文件夹结构也很好。

谢谢

最佳答案

没有一个命令可以为您扁平化层次结构;您将不得不使用多个命令。只需使用 FOR/R 遍历层次结构,再加上您选择的复制/移动命令(移动、复制、xcopy、robocopy)即可完成。由于您的目标位于源层次结构内,因此您需要一个 IF 来防止目标成为源。

在继续之前,您应该停下来想一想如果相同的文件名出现在多个源文件夹中会发生什么。您的目标文件夹中只能有一个版本。你能保证不存在重名吗?如果没有,应该保留哪个文件?如何构造命令以保留所需的文件?这种复杂性可能就是为什么从来没有编写命令来简单地扁平化层次结构的原因。

这是与 FOR/R 解决方案集成的 ROBOCOPY 命令。

@echo off
set source="R:\Contracts"
set destination="R:\Contracts\Sites"

::Not sure if this is needed
::It guarantees you have a canonical path (standard form)
for %%F in (%destination%) do set destination="%%~fF"

for /r %source% %%F in (.) do if "%%~fF" neq %destination% ROBOCOPY "%%F" %destination% *.srt *.pdf *.mp4 *.jpg /COPYALL /R:0

关于file - ROBOCOPY - 将文件夹内容复制到单个文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8690245/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com