Войти

Показать полную графическую версию : Проверка условия


Доктор Ливси
16-01-2012, 17:19
Хочется при условии равенства переменной mdd единице обеспечить переход на метку :Ok

Set mdd=%%~ta
Set mdd=!mdd:~3,1!
If %mdd%=1 (Goto :Ok) Else (Set mdd=!mdd:~4,1!!mdd:~0,2!)

:Ok
Echo Оно работает

А оно не работает :(. Пишет "Непредвиденное появление: (Goto."

Помогите, пожалуйста

zion87
16-01-2012, 17:27
If %mdd%=1 »
а разве там не так должно быть

if %mdd%==1

двойной знак равенства

mdd==!mdd:~4,1

Iska
16-01-2012, 17:38
if %mdd% equ 1 goto :<label>
— расширенная обработка включена по умолчанию.

Доктор Ливси
17-01-2012, 16:10
if %mdd% eql 1 goto :<label>

"Непредвиденное появление: 1.

Iska
17-01-2012, 17:50
Доктор Ливси, в консольной справке ошибка: должно быть не «eql», а «equ».

Доктор Ливси
18-01-2012, 16:25
for %%a in (*.txt) do (
set mdd=%%~ta
Set mdd=!mdd:~3,1!
If %mdd% EQU 1 Goto :Ok)

То же самое: Непредвиденное появление: 1.

Iska
18-01-2012, 17:32
If !mdd! EQU 1 Goto :Ok
)

Или сразу:
if !mdd:~3,1! equ 1 goto :Ok
)


P.S. А в чём общий смысл действа?

gora
18-01-2012, 18:12
Доктор Ливси, попробуйте так:@Echo Off
SetLocal EnableDelayedExpansion
for %%a in (*.txt) do (
set mdd=%%~ta
Echo %%a %%~ta !mdd:~3,1!
If "!mdd:~3,1!"=="1" Goto :_Ok
)
Echo No
pause
:_Ok
Echo Ok
pauseА в чём общий смысл действа? »
Может быть - это проверка наличия хотя бы одного текстового файла за последний квартал произвольного года... :dont-know

Доктор Ливси
19-01-2012, 06:02
Нет, мне надо из дат файлов разных месяцев взять месяц, начинающийся на 1 и передать файл на дальнейшую обработку

Iska
19-01-2012, 06:17
В смысле — отобрать текстовые файлы, измененные за октябрь/ноябрь/декабрь, неважно какого года?

Доктор Ливси
19-01-2012, 07:56
угу

Доктор Ливси
19-01-2012, 16:01
Iska. gora. спасибо большущее, всё ок :)




© OSzone.net 2001-2012