Cepreu^
Новый пользователь
- Сообщения
- 3
- Реакции
- 0
Здравствуйте, помогите разобраться.
Написал простой батник test.bat. В результате которого выделяется год создания файла text.txt.
Код работает, результат правильный. Но результат получается в виде файла temp3.tmp.
А есть необходимость использовать результат в самом коде. В общем в коде есть цикл в котором переменной %i присваивается год создания файла ( равен 2016 ). В этом же цикле сразу распечатываю значение этой переменной ( block0 ) и получаю естественно 2016. А вот дальше в этом же цикле сразу пытаюсь использовать эту переменную в условии IF %i == 2016 ( block1 ), и получаю %i не равно 2016. В общем не могу понять почему это происходит. Да и дальше в коде распечатываю значение этой переменной ( block2 , block3 ) и уже не получаю 2016, а надо получить. Как быть ? Подскажите пожалуйста.
Написал простой батник test.bat. В результате которого выделяется год создания файла text.txt.
Код работает, результат правильный. Но результат получается в виде файла temp3.tmp.
А есть необходимость использовать результат в самом коде. В общем в коде есть цикл в котором переменной %i присваивается год создания файла ( равен 2016 ). В этом же цикле сразу распечатываю значение этой переменной ( block0 ) и получаю естественно 2016. А вот дальше в этом же цикле сразу пытаюсь использовать эту переменную в условии IF %i == 2016 ( block1 ), и получаю %i не равно 2016. В общем не могу понять почему это происходит. Да и дальше в коде распечатываю значение этой переменной ( block2 , block3 ) и уже не получаю 2016, а надо получить. Как быть ? Подскажите пожалуйста.
CMD/BATCH:
@echo off
for /r %%a in (text.txt) do (
if exist %%a (
rem получение даты изменения файла
echo %%~ta > temp.tmp
for /f "tokens=1 delims= " %%h in (temp.tmp) do (
echo %%h > temp2.tmp
)
rem получение года создания файла
for /f "tokens=3 delims=." %%i in (temp2.tmp) do (
echo %%i > temp3.tmp
rem --------------------------------------block0---------------------------------------
echo i ravno %%i
rem --------------------------------------block0---------------------------------------
rem --------------------------------------block1---------------------------------------
if %%i == 2016 (
echo i ravno 2016
) else ( echo i NE ravno 2016 )
rem --------------------------------------block1---------------------------------------
)
rem --------------------------------------block2---------------------------------------
echo i ravno %%i
rem --------------------------------------block2---------------------------------------
) else ( echo file do not exist )
)
rem --------------------------------------block3---------------------------------------
echo i ravno %%i
rem --------------------------------------block3---------------------------------------
echo on
pause
Вложения
Последнее редактирование модератором: