我需要将多个备份文件复制到共享文件夹
要复制的来源如下所示(中间有其他文件,但对复制它们不感兴趣
C:\BackupLocation\BCK1\Logs\myLog1.log
C:\BackupLocation\BCK1\Logs\myLog2.log
C:\BackupLocation\BCK1\Logs\myLog3.log
C:\BackupLocation\BCK2\Logs\myLog1.log
C:\BackupLocation\BCK2\Logs\myLog2.log
C:\BackupLocation\BCK2\Logs\myLog3.log
C:\BackupLocation\BCK3\Logs\myLog1.log
C:\BackupLocation\BCK3\Logs\myLog2.log
我需要能够复制任何日志文件,其中包含" myLog"在文件名中。
我考虑过做一个For look来获取目录,然后使用robocopy将文件复制到我的共享位置
FOR /d /r %ROOT_SRC_BACKUP_LOCATION% %%G in (*logs*) DO (
Pushd %%G
Robocopy %%G "mybackup location directory" *mylog* /S
Popd )
但问题是logs目录检测到其他日志目录...例如我在这里有另一个日志目录
C:\BackupLocation\BCK3\server\Logs\IDontCareAboutTheLogsIntheServerDirectory.log
复制C:\BackupLocation\BCKXX\Logs\
文件夹中所有myLog的最有效方法是什么?
答案 0 :(得分:2)
测试一下:
@echo off
Pushd "C:\BackupLocation"
for /d %%a in (bck*) do (
if exist "%%a\logs\" Robocopy "%%a\logs" "d:\mybackup location directory\%%a\logs" "*mylog*.log"
)
Popd