2013-05-17 45 views
0

我想要創建一個bat文件來複制在特定日期創建的所有jpeg圖像文件 - 例如2013/05/05。在DATE中使用cmd搜索目錄中的文件

它會是這樣的:

xcopy g:\DCIM\images\'command for date'*.jpg c:\users\david\images\newImages 

如何實現這個目標?

我嘗試以下,但它的文件夾中複製所有圖像,而忽略Date參數:

xcopy /l /s /d:05-05-2013 g:\DCIM\images\*.jpg c:\users\david\images\newImages 

回答

1

試試這個:

@echo off 
setlocal 

for /f "tokens=1,5 delims= " %%a in ('dir /a-d /tc G:\DCIM\images\*.jpg') do (
    if %%a equ 2013/05/05 copy "g:\DCIM\images\%%b" "c:\users\david\images\newImages" 
) 
+0

謝謝,但似乎沒有工作 – DextrousDave

+0

你可能會測試代碼? – DextrousDave

+1

您的日期格式是yyyy/dd/mm您發佈的方式嗎?在'CMD'提示符下鍵入'DIR'並查看日期格式是什麼。將日期更改爲任何格式。除非已經測試過,否則我不會發布代碼。它在我的系統上正常工作。如果您沒有從G:\ dcim \ images目錄運行批處理文件,我已經對它進行了一些改進。 –

0

試試這個:

@echo off&setlocal 
cd /d "g:\DCIM\images" 
for /f "tokens=3" %%i in ('dir ^|findstr "^[0-9]"') do set "AMPM=%%i" 
if "%AMPM:M=%"=="%AMPM%" (set "AMPM=3") else set "AMPM=4" 
for /f "tokens=1,%AMPM%*" %%i in ('dir /a-d /tc *.jpg') do if "05-05-2013"=="%%i" echo copy "%%k" "c:\users\david\images\newImages" 
+0

謝謝你...但不工作...是不是有一個更簡單的方法來做到這一點 - 看我更新的答案 – DextrousDave

+0

伊莫你給了一個錯誤的日期格式。您應該首先提供來自「dir」命令的示例輸出。 – Endoro

+0

不知道格式應該是那麼...因爲我使用指定的xcopy格式...這是/ D:m-d-y – DextrousDave