[英]How do I copy files from the current directory, but not sub-directories using a batch script?
[英]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.