我一直在網上尋找,似乎無法找到我要找的東西。在我開始之前,我絕不是經驗豐富的命令行用戶,所以請溫和。批處理文件將2個最新文件複製到另一個文件夾中
我需要一個批處理文件,將兩個最新的文件從一個目錄複製到另一個目錄,然後我需要刪除目標文件夾中的文件,這些文件只會使這兩個文件最新可見。
值得注意的是,我試過/ d命令(不包括日期),但是,這開始複製所有文件而不是最新的文件。
請幫忙?
感謝
我一直在網上尋找,似乎無法找到我要找的東西。在我開始之前,我絕不是經驗豐富的命令行用戶,所以請溫和。批處理文件將2個最新文件複製到另一個文件夾中
我需要一個批處理文件,將兩個最新的文件從一個目錄複製到另一個目錄,然後我需要刪除目標文件夾中的文件,這些文件只會使這兩個文件最新可見。
值得注意的是,我試過/ d命令(不包括日期),但是,這開始複製所有文件而不是最新的文件。
請幫忙?
感謝
你的描述有點顛倒。
首先將文件複製到目標文件然後刪除除了兩個新文件之外的所有文件都有點笨拙。
無禮偷竊 npocmaka的編碼爲:
@Echo off
setlocal enableDelayedExpansion
set "source=c:\source_folder"
set "target=c:\target"
PushD "%source%"
set "counter=0"
for /f "tokens=* delims=" %%A in ('dir "*.bak" /b /o:-d /t:w') do (
set /a counter+=1
Set Copy[!counter!]=copy "%%~fA" "%target%\"
if !counter! equ 2 goto :break
)
:break
Del /Q "%target%\*"
For /L %%C in (1,1,%counter%) Do !Copy[%%C]!
PopD
未測試:
setlocal enableDelayedExpansion
set "source=c:\source"
set "target=c"\target"
set "counter=0"
for /f "tokens=* delims=" %%# in ('dir "%source%" /b /o:-d /t:c /a:-d') do (
set /a counter=counter+1
echo "%%#"
copy "%source%\%%#" "%target%" /Y
if !counter! equ 2 goto :break
)
:break
嗨, 感謝您的反饋,我剛剛試過這段代碼,目標文件夾中的兩個較舊的文件刪除,但沒有任何複製,而是我留下一個錯誤提示:環境變量複製[目標「未定義 這似乎是兩個單獨的行。我缺少的東西? – Admaine
很抱歉,百分號缺失,改變。 – LotPings
嗯,這段代碼似乎只是從目標文件夾刪除文件,而不是與較新的替換它。源是C:\用戶\用戶名\桌面\備份和目標是H:\ ePay備份。我不確定這是否會有所幫助,需要傳輸的文件是.bak – Admaine