如何实时将多个文件夹中的所有文件复制到一个文件夹中

如何实时将多个文件夹中的所有文件复制到一个文件夹中

我的文件结构如下

C:\photo1\2018-07-26\*.jpg
C:\photo1\2018-07-27\*.jpg
C:\photo1\2018-07-30\*.jpg

C:\photo2\2018-07-26\*.jpg
C:\photo2\2018-07-27\*.jpg
C:\photo2\2018-07-30\*.jpg

新文件将添加到最新日期文件夹中。我正在尝试将所有文​​件复制到没有子文件夹的文件夹中

C:\photo1\*\*.jpg -> C:\allphoto1\*.jpg
C:\photo2\*\*.jpg -> C:\allphoto2\*.jpg

并在添加新文件时实时显示。有人知道如何使用批处理文件或其他软件执行此操作吗?

答案1

您可以使用以下命令看看是否有帮助。

cd /d "C:\photo1"  
for /r %d in (*) do copy "%d" "C:\allphoto1"

cd /d "C:\photo2"  
for /r %d in (*) do copy "%d" "C:\allphoto2"

这将复制相册:,以及子文件夹中的文件相册:目录:\allphoto1

或者您也可以移动、替换。

cd /d "C:\photo1"  
for /r %d in (*) do *move* "%d" "C:\allphoto1"

更新:您可以使用以下内容测试脚本文件,然后编辑测试脚本并根据您的要求更改路径。

@echo off  
@cd /d c:\photo1  
@for /r %%d in (*) do move "%%d" "C:\allphoto1"  
@cd /d c:\photo2  
@for /r %%d in (*) do move "%%d" "C:\allphoto2"  
@pause

只需创建一个新的 txt 文件,然后输入上述命令,并保存为 test.bat。当你想移动它们时,只需运行它即可。

在此处输入图片描述 —————————————————————————————————————————————————

或者您可以使用这个 powershell 脚本。

[CmdletBinding()]  
param  
(  
[parameter(Mandatory=$true)]  
[string]$sourcepath,  
[parameter(Mandatory=$true)]  
[string]$destinition  
)  
Write-Verbose "copy from one path to another path"

Get-ChildItem $sourcepath | ForEach-Object -Process{  
if($_ -is [System.IO.FileInfo])  
{  
Copy-Item  -Literalpath ( $_.PSpath )  -Destination   $destinition -force  -Recurse   
}  
} 

Write-Verbose“脚本完成”

该脚本运行时需要输入目录,可以在destination和sourcepath中添加目录。

相关内容