2017-10-17 113 views
-1

我需要的代碼組合,其在每分鐘爲單個文件生成的文本文件,是指腳本運行和檢查在特定的文件夾最後15分鐘生成的文件然後合併文件到單個文件此單個文件必須在不同的文件夾中生成。合併多個文本文件 - 批處理文件

例如:當前時間15:30:00,文件中C:/New生成作爲

A.TXT DateModified 20170101150150 (YYYYMMDDHHMMSS) 
B.TXT DateModified 20170101151630 (YYYYMMDDHHMMSS) 
C.TXT DateModified 20170101151740 (YYYYMMDDHHMMSS) 
D.TXT DateModified 20170101151850 (YYYYMMDDHHMMSS) 

然後:E.TXTC:/Backup

E.TXT = B.TXT + C.TXT + D.TXT 

A.TXT必須不被包括在E.TXT

腳本生成批文件需要。

:start 
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a" 
set "YY=%dt:~2,2%" 
set "YYYY=%dt:~0,4%" 
set "MM=%dt:~4,2%" 
set "DD=%dt:~6,2%" 
set "HH=%dt:~8,2%" 
set "Min=%dt:~10,2%" 
set "Sec=%dt:~12,2%" 
set "MS=%dt:~15,3%" 
set "datestamp=%YYYY%%MM%%DD%" 
set "timestamp=%HH%%Min%%Sec%" 
set "fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%-%MS%" 

echo CurrentDate: "%datestamp%" 

set SH=%Min%-15 

COPY "C:\Users\hp\Desktop\New folder (2)\%datestamp%_%HH%%SH%*.txt" "C:\Users\hp\Desktop\New folder (2)\Complete_%datestamp%.txt" 

TIMEOUT /T 15 

GOTO start 

但這僅複製2個或3個文件沒有哪個會在15分鐘

+1

你嘗試過什麼,以及如何有你試過失敗了怎麼辦?理想情況下,你應該提供一個[MCVE]你已經嘗試過的東西,包括它是如何失敗的具體信息,錯誤消息和/或錯誤的輸出。 [SO]不是代碼寫入服務;最好的問題是提供有用信息的問題,以便那些回答問題的人可以指導你設計自己的正確答案。見[問]。 –

+0

請檢查問題又來.. 在此先感謝.. –

+0

只是'組SH =%分鐘%-15'是不夠的(和它的'設置/了';你可以'設置/ A SH = MIN- 15')。你必須照顧不足的情況,然後調整時間和照顧小時的不足,並適應幾天,幾個月甚至一年的時間。然後,每個FileGeneratedDateTime比較該結果([中獲得靈感(https://stackoverflow.com/a/18024049/2152082))。 – Stephan

回答

0

內產生,以產生E.txt

set/p B=<B.txt 
set/p C=<C.txt 
set/p D=<D.txt 
echo %B%>>E.txt 
echo %C%>>E.txt 
echo %D%>>E.txt 

輸出,E.txt單個文件的所有文件中的所有B.txt C.txt和D.txt的內容 (A.txt不會被複制)

使用set /a sh=min-15進行時間調整。

+0

只需要每個文件的第一行。並不符合「最後15分鐘」的要求。 – Stephan