|
батник 5 строчек, а ошибку не найду :( |
☑ |
0
Smallrat
31.05.13
✎
15:45
|
Нид хелп!
if exist "c:\control\work.txt" (
set minuteslim=3
set minutesdif=4
if %minutesdif% GTR %minuteslim% echo !!!!
)
выдает:
Непредвиденное появление: echo.
if GTR echo !!!!
я уже забодался, причем иногда достаточно стереть первое условие, запустить - оно скажет !!!, потом вернуть все на место и всё будет работать, а потом перестает.
|
|
1
Базис
naïve
31.05.13
✎
15:50
|
ЕМНИП command.com не позволяет делать вложенные условия.
|
|
2
Smallrat
31.05.13
✎
15:55
|
(1) ммм, странно как - вроде нигде про это не сказано, да и работает иногда. хотя чаще не работает.
|
|
3
Smallrat
31.05.13
✎
16:20
|
(1) вынес вложенно условие через метку, вроде работает. Спасибо!
|
|
4
Jaap Vduul
31.05.13
✎
16:27
|
Тут дело не во вложенности.
Просто команды в блоке выполняются не последовательно, а одновременно.
Поэтому получается, что в строчке if %minutesdif% GTR %minuteslim% переменные не инициализированы, отсюда и "Непредвиденное появление ...".
|
|
5
Ковычки
31.05.13
✎
17:37
|
setlocal ENABLEDELAYEDEXPANSION
if exist "c:\control\work.txt" (
set minuteslim=3
set minutesdif=4
if !minutesdif! GTR !minuteslim! echo ^^!^^!^^!^^!
)
|
|
6
Ковычки
31.05.13
✎
17:59
|
без отложенной обработки
if not exist "c:\control\work.txt" goto next
set minuteslim=3
set minutesdif=4
if %minutesdif% GTR %minuteslim% echo ^^!^^!^^!^^!
:next
|
|
7
Smallrat
31.05.13
✎
18:19
|
О как! а я то думаю - какого он пишет "if GTR echo !!!!" с пустыми значениями.
буду знать, спасиб!!!
|
|