2016-02-22 167 views
0

我需要一個批處理文件來檢查文件是否存在於最近一次修改日期爲特定文件夾的當前月份&年。批處理文件檢查當前月份創建的文件是否存在

例如:本月顯示FEB-16 (02/2016);(日期並不重要,我)

文件夾/文件名我可以輸入,因爲它是靜態的。

+1

我提高了可讀性一點點。然而,你有嘗試過目前爲止?如果您顯示一些代碼,則更容易獲得答案。 – Alexei

回答

0

您可以使用此:

@echo off 
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a" 
set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" 
set /p "file=Enter your file here: " 
if not exist "%file%" (
    echo file %file% not found 
    goto end 
    ) 
FOR %%i IN ("%file%") DO (
    for /f "tokens=2,3 delims=-: " %%g in ("%%~ti") do (
     if "%%h%%g"=="%YYYY%%MM%" (
      echo %%i is from this month! 
      ) 
     if not "%%h%%g"=="%YYYY%%MM%" (
      echo %%i is not from this month! 
      ) 
     ) 
    ) 
:end 
pause 

編輯

區域設置非特定版本:

@echo off 
setlocal EnableDelayedExpansion 
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a" 
set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" 
set /p "file=Enter your file here: " 
if not exist "%file%" (
    echo file %file% not found 
    goto end 
    ) 
FOR %%i IN ("%file%") DO (
    set "escapedFile=%%~dpnxi" 
    set "escapedFile=!escapedFile:\=\\!" 
    for /f "tokens=2 delims==" %%a in ('wmic datafile where name^="!escapedFile!" get LastModified /value') do set "dt2=%%a" 
    set "YYYY2=!dt2:~0,4!" & set "MM2=!dt2:~4,2!" 
    if "!YYYY2!-!MM2!"=="!YYYY!-!MM!" (
     echo %%i is from this month! 
     ) 
     if not "!YYYY2!-!MM2!"=="!YYYY!-!MM!" (
     echo %%i is not from this month! 
     ) 
    ) 
:end 
pause 
+0

感謝您的回覆。是否可以爲以下情況添加消息: –

+0

1.如果在該路徑中沒有文件 –

+0

2.如果文件存在但它不符合日期標準 –

相關問題