Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Проверка условия (http://forum.oszone.net/showthread.php?t=225392)

Доктор Ливси 16-01-2012 17:19 1837183

Проверка условия
 
Хочется при условии равенства переменной 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 1837189

Цитата:

Цитата Доктор Ливси
If %mdd%=1 »

а разве там не так должно быть
Код:

if %mdd%==1
двойной знак равенства
Код:

mdd==!mdd:~4,1

Iska 16-01-2012 17:38 1837200

Код:

if %mdd% equ 1 goto :<label>
— расширенная обработка включена по умолчанию.

Доктор Ливси 17-01-2012 16:10 1838000

if %mdd% eql 1 goto :<label>

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

Iska 17-01-2012 17:50 1838098

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

Доктор Ливси 18-01-2012 16:25 1838929

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 1838994

Код:

    If !mdd! EQU 1 Goto :Ok
)

Или сразу:
Код:

    if !mdd:~3,1! equ 1 goto :Ok
)

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

gora 18-01-2012 18:12 1839020

Доктор Ливси, попробуйте так:
Код:

@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

Цитата:

Цитата Iska
А в чём общий смысл действа? »

Может быть - это проверка наличия хотя бы одного текстового файла за последний квартал произвольного года... :dont-know

Доктор Ливси 19-01-2012 06:02 1839310

Нет, мне надо из дат файлов разных месяцев взять месяц, начинающийся на 1 и передать файл на дальнейшую обработку

Iska 19-01-2012 06:17 1839316

В смысле — отобрать текстовые файлы, измененные за октябрь/ноябрь/декабрь, неважно какого года?

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

угу

Доктор Ливси 19-01-2012 16:01 1839647

Iska. gora. спасибо большущее, всё ок :)


Время: 21:34.

Время: 21:34.
© OSzone.net 2001-