2013-06-27 35 views
2

我想從子目錄中獲取所有最新文件到一個網絡目錄中,但沒有獲取子目錄結構。它們是擴展名爲*.trn的SQL Server日誌文件。我有以下但它不起作用。從所有子目錄中複製最新的文件

試圖從...........只備份最新的*.trn文件備份及其子目錄。

for /R E:\SQLSERVER\PRODINSTANCE1\Backup %%f in (*.trn) do xcopy %%f "\\198.152.71.14\NetBackups$\MSSQL\Logs" /B /O:D /d /Y 
+0

什麼不適用於它? – zdan

回答

0

我不確定您是否正確使用xcopy。 /O不帶參數。它只複製所有權/ ACL信息。 (這真的是你想要的日誌文件?)

既然你沒有描述什麼是「不起作用」的意思,我唯一的建議是對他們的空間文件名。

FOR /R "%SRC_DIR%" %%f in (*.trn) do xcopy "%%~f" "%DEST_DIR%" /B /O /D /Y 

這工作對我來說(我測試與.pdf的)。

1

可以使用dir命令與/od開關和for循環:

@echo off &setlocal enabledelayedexpansion 
for /d /r "E:\SQLSERVER\PRODINSTANCE1\Backup" %%a in (*) do (
    for /f "delims=" %%i in ('dir /b /a-d /od "%%~a"') do set "newest=%%~fi" 
    xcopy "!newest!" "\\198.152.71.14\NetBackups$\MSSQL\Logs" /B /O:D /d /Y 
) 

如需更多幫助,請在命令提示符下輸入help dir

+0

我不確定@Calvin只需要_one_最新的文件或_all_最新/更新的文件。 – mojo

相關問題