我想創建一個批處理文件,它將只複製新創建的文件夾。我使用下面的代碼,但是這只是選擇文件(文本文件或xml文件)而不是文件夾。批處理文件只複製新創建或修改的文件夾
xcopy "D:\Splunk\var\lib\splunk\defaultdb\db" "D:\test\Incremental_data_backup\" /m
請建議什麼,我缺少的
感謝 維卡斯
我想創建一個批處理文件,它將只複製新創建的文件夾。我使用下面的代碼,但是這只是選擇文件(文本文件或xml文件)而不是文件夾。批處理文件只複製新創建或修改的文件夾
xcopy "D:\Splunk\var\lib\splunk\defaultdb\db" "D:\test\Incremental_data_backup\" /m
請建議什麼,我缺少的
感謝 維卡斯
您可以使用XCOPY對於這一點,只需要指定正確的選項。這裏是轉發給你是相:
/H複製隱藏和系統文件和文件夾(默認= N)
/d:MM-DD-YYYY 複製文件改變上或在指定日期之後。 如果沒有給出日期,只複製源日期/時間比目標時間更新的文件。
/S複印的文件夾和子文件夾
/E複印的文件夾和子文件夾,包括空文件夾。 可能用於修改/ T。
所以沿着
xcopy <src> <dest> /HE /D:mm-dd-yyy
腳本日線的東西是一個比較複雜:
%日期:〜4.2% - 月 %日期:-4% - 今年 %日期:7,2〜% - 天
所以,當前的日期將是:
%date:~4,2%-%date:~7,2%-%date:-4%
您可以使用此代碼嘗試。我使用參數標記爲修改的文件夾
REM set up the TODAY variable
REM -----
for /f "tokens=1-3 delims=/ " %%a in ('date /T') do set year=%%c
for /f "tokens=1-3 delims=/ " %%a in ('date /T') do set month=%%b
for /f "tokens=1-3 delims=/ " %%a in ('date /T') do set day=%%a
set TODAY=%year%%month%%day%
REM -----
:: yesterdays date
@echo off
set day=-1
echo >"%temp%\%~n0.vbs" s=DateAdd("d",%day%,now) : d=weekday(s)
echo>>"%temp%\%~n0.vbs" WScript.Echo year(s)^& right(100+month(s),2)^&
right(100+day(s),2)
for /f %%a in ('cscript /nologo "%temp%\%~n0.vbs"') do set "result=%%a"
del "%temp%\%~n0.vbs"
set "YY=%result:~2,2%"
set "MM=%result:~4,2%"
set "DD=%result:~6,2%"
set "data=%mm%-%dd%-%yy%"
xcopy D:\YourFolder D:\BAK\BAK_%TODAY% /S /D:%data% /C /R /I /K /Y
所以,你只想創建空文件夾,或者你想要文件夾和它們可能包含的任何文件?你也希望你複製的文件比目的文件中的文件更新,還是你希望它們比給定的日期更新? – ventsyv 2014-09-23 18:26:21
,因爲我想每天晚上10點安排這個批處理文件。所以它應該檢查源文件夾,只複製那些僅在今天創建的文件。類似地,當計劃程序第二天運行這個bacth時,它將檢查源是否有新文件夾....我希望我明確自己...... – user3332404 2014-09-23 18:35:48