簡體   English   中英

如何將4個最新文件從受密碼保護的在線目錄復制到另一個目錄?

[英]How do I copy the 4 latest files from a password-protected online directory to another directory?

作為序言,我是批處理文件的完整入門者(我假設這是實現我要完成的任務的方式)。 我已經對該主題進行了廣泛的搜索,但是給出的答案只能部分地幫助我。

我每天早上與我們的HRIS一起將其產生的4個文件上傳到我們的工資系統中。 它們並不是在完全相同的時間創建的,而是大約在同一分鍾創建的,我想將所有這四個文件復制到一個新位置。 我不能按文件名查找,因為文件每天都會更改名稱。

主要問題:如何編寫一種將4個最新文件從受密碼保護的目錄(不僅僅是最新文件)復制到新目錄的方法? (另一種可能性是復制在腳本運行當天創建的所有文件)

我發現似乎最接近的代碼在下面,但是當我想復制多個文件時,它只是最新的單個文件。

    :Variables
    SET DatabaseBackupPath=\\virtualserver1\Database Backups

    echo.
    echo Restore WebServer Database
    FOR /F "delims=|" %%I IN ('DIR "%DatabaseBackupPath%\WebServer\*.bak" /B /O:D') DO SET NewestFile=%%I
    copy "%DatabaseBackupPath%\WebServer\%NewestFile%" "D:\"

    sqlcmd -U <username> -P <password> -d master -Q ^
    "RESTORE DATABASE [ExampleDatabaseName] ^
    FROM  DISK = N'D:\%NewestFile%' ^
    WITH  FILE = 1,  ^
    MOVE N'Example_CS' TO N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Example.mdf',  ^
    MOVE N'Example_CS_log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Example_1.LDF',  ^
    NOUNLOAD,  STATS = 10"

我希望這是有道理的,感謝您的答復。

好吧,我有一個有點傻的代碼,我正在做一個臨時文件夾。 現在,我最新文件移動到該臨時文件夾中,並重復執行此操作4次。
完成后,我將完整的temp文件夾移至d驅動器

該代碼替換了第6行和第8行之間的原始代碼

if not exist "%DatabaseBackupPath%\WebServer\temp" md "%DatabaseBackupPath%\WebServer\temp"

for /l %%a in (1,1,4) do (

 FOR /F "delims=|" %%I IN ('DIR "%DatabaseBackupPath%\WebServer\*.bak" /B  /O:D') DO (
SET NewestFile=%%I
move "%DatabaseBackupPath%\WebServer\%NewestFile%" "%DatabaseBackupPath%\WebServer\temp\"
)
)
for /r "%DatabaseBackupPath%\WebServer\temp" %%b in (*.*) do (
       move "%%b" "D:\"
)

我希望這對你有幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM