首页 > 解决方案 > 在多个随机文件夹中搜索最新文件并将其复制到网络位置

问题描述

在文件夹 C:\Temp\2019 内,我有按当前日期命名的备份文件夹(1、2、3 等,其中包含来自不同日期的相同数据),其中是由项目命名的文件夹。我正在尝试创建一个脚本,该脚本可以找到名为 test.txt 的最新文件,该文件可以在项目文件夹之一(1、2、3 等)中找到,并将其复制到网络位置 \nettest\temp\backup。每一个文件夹。

我尝试创建一些可以解决我的问题或批处理脚本的 robocopy 脚本,但我的问题是只搜索主文件夹,我需要找到一种方法来包含所有子文件夹的名称。

@echo off
set Location=C:\Temp\2019
Set Destination=\\nettest\temp\backup
Set FileName=*test.txt*
Set SearchResult=SearchResult.txt
Where /R "%Location%" "%FileName%" > %SearchResult%
For /f "delims=*" %%a in (%SearchResult%) Do (If Not Exist "%Destination%\%%~na" MD "%Destination%\%%~na")
For /f "delims=*" %%b in (%SearchResult%) Do (echo Copy "%%b" "%Destination%\%%~nb" & Copy /-Y "%%b" "%Destination%\%%~nb")
pause
Explorer "%Destination%"

我尝试使用此代码的问题是因为它仅搜索一个目录,并且我需要它包含每个子目录。

标签: batch-filecmd

解决方案


推荐阅读