Jak sprawdzić, za pomocą pliku wsadowego czy plik powstał w bieżącym roku


(Pokrzywek321) #1

Napisz plik przetwarzania wsadowego, który sprawdzi i wyświetli komunikat czy plik (podany jako pierwszy parametr) powstal w biezacym roku. Do tej pory napisałem to:

@echo off
echo.
echo.
echo Sprawdzam i wyswietlam komunikat czy plik powstal w biezacym roku
echo.
if "%1"=="" (goto koniec1) else (goto dalej)
:dalej
if not exist "%1" (goto koniec2) else (goto dalej2)
:dalej2

echo Biezacy rok: %date:~0,4%

??

goto :end
:koniec1
echo Nie podales nazwy pliku
goto end
:koniec2
echo Podany plik nie istnieje
echo.
echo.
:end

Problem pojawił się w momencie kiedy trzeba porównać rok otatniej edycji pliku (parametru %1) z bieżącym rokiem. Nie wiem za bardzo nawet jakim poleceniem tego dokonać. Próbowałem dir z wieloma przełącznikami i inne, ale bezskutecznie. Jeśli ktoś ma chwilę czasu, mógłbym liczyć na pomoc?


(Grzelix) #2

http://www.windows-commandline.com/get-file-creation-date-time/


(madoch) #3
@echo off
echo.
echo.
echo Sprawdzam i wyswietlam komunikat czy plik powstal w biezacym roku
echo.
if "%1"=="" (goto koniec1) else (goto dalej)
:dalej
if not exist "%1" (goto koniec2) else (goto dalej2)
:dalej2

echo Biezacy rok: %date:~0,4%

set br=%date:~0,4%

for %%A in (%1) do set rokp=%%~tA

set rokp=%rokp:~0,4%

echo %rokp% %br%

if %rokp%==%br% (echo Ten sam rok) else (echo Rozne lata)

goto :end
:koniec1
echo Nie podales nazwy pliku
goto end
:koniec2
echo Podany plik nie istnieje
echo.
echo.
:end

(Pokrzywek321) #4

Dzieki serdeczne !