如何使用 windows 命令将多个文件夹中特定位置的文件复制到共享驱动器?
How to copy files in specific location within multiple folders to a shared drive using windows command?
我需要将几个备份文件复制到一个共享文件夹
要复制的来源如下所示(中间还有其他文件,但对复制它们不感兴趣
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 )
但问题是日志目录检测到其他日志目录...例如我这里有另一个日志目录
C:\BackupLocation\BCK3\server\Logs\IDontCareAboutTheLogsIntheServerDirectory.log
复制 C:\BackupLocation\BCKXX\Logs\
文件夹中所有 myLog 的最有效方法是什么?
测试一下:
@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
我需要将几个备份文件复制到一个共享文件夹
要复制的来源如下所示(中间还有其他文件,但对复制它们不感兴趣
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 )
但问题是日志目录检测到其他日志目录...例如我这里有另一个日志目录
C:\BackupLocation\BCK3\server\Logs\IDontCareAboutTheLogsIntheServerDirectory.log
复制 C:\BackupLocation\BCKXX\Logs\
文件夹中所有 myLog 的最有效方法是什么?
测试一下:
@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