Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
66 / 56 / 6
Регистрация: 28.12.2011
Сообщений: 322

Не работает условие в батнике. В чем причина

02.06.2015, 13:42. Показов 1848. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Имею такой батник

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
@Echo off
 
cls
 
set pDot=C:\CONSXML\#DOT\Programs
set pRes=c:\Формирование_Отчетов\Данные
set rep1=%pDot%\exp1.ecr
set res1=%pRes%\exp1.txt
set rep2=%pDot%\exp2.ecr
set res2=%pRes%\exp2.txt
set rep3=%pDot%\esu.ecr
set res3=%pRes%\esu.txt
set rep4=%pDot%\int.ecr
set res4=%pRes%\int.txt
set rep6=%pDot%\str.ecr
set res6=%pRes%\str.txt
set rep7=%pDot%\pap1.ecr
set res7=%pRes%\pap1.txt
set rep8=%pDot%\pap2.ecr
set res8=%pRes%\pap2.txt
set rep9=%pDot%\otn.ecr
set res9=%pRes%\otn.txt
set err=""
 
 
Echo.   
Echo Внимание!!! Нужно было поменять дату в файлах pap1.ecr и pap2.ecr
Echo.
pause.
 
If exist "%cd%\*OTN.xml" (
    if not exist "%cd%\Список документов OTN.txt" (
    set err=%err%OTN, 
    )
)
 
If exist "%cd%\*ESU.xml" (
    if not exist "%cd%\Список документов ESU.txt" (
                        set err=%err%ESU, 
                  )
)
 
If exist "%cd%\*INT.xml" (
    if not exist "%cd%\Список документов INT.txt" (
                       set err=%err%INT, 
                  )
)
 
If exist "%cd%\*STR.xml" (
    if not exist "%cd%\Список документов STR.txt" (
                         set err=%err%STR, 
                  )
)
 
If exist "%cd%\*EXP.xml" (
    if not exist "%cd%\Список документов EXP.txt" (
                       set err=%err%EXP, 
                  )
)
 
 
If "%err%" ==""{
ElementsCounter.exe dir="%cd%" report="%rep1%|%rep2%|%rep3%|%rep4%|%rep6%|%rep7%|%rep8%|%rep9%" savereport="%res1%|%res2%|%res3%|%res4%|%res6%|%res7%|%res8%|%res9%" -appendReport -nomessage -info %1
}
else{
     Echo Внимание!!! В каталоге %cd% отсутствует файл с датой "Когда получен" для ИБ %err%
    Echo.
            pause.  
            exit. 
}
 
 
Echo on
Последнее условие не работает. В чем может быть причина?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.06.2015, 13:42
Ответы с готовыми решениями:

Не работает код. В чём причина?
Добрый день! Простой код не работает #include<stdio.h> int main(void) { char ch; scanf_s("%c",&ch); ...

Не работает программа, в чем причина?
Необходимо вычислить значение функции y и посчитать сумму ее первых трех значений: y=sin|ax+b|, если x<a/b, y=cos|ax-b|,если...

Не работает слайдер, в чём причина
Не могу понять что со слайдером, работает только 1 раз, в одну или другую сторону и всё, делал такой же слайдер на кодепене всё отлично...

2
 Аватар для ComSpec
3463 / 2001 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
02.06.2015, 13:46
Цитата Сообщение от Hank Посмотреть сообщение
Windows Batch file
62
63
64
65
66
67
68
69
70
If "%err%" ==""{
ElementsCounter.exe dir="%cd%" report="%rep1%|%rep2%|%rep3%|%rep4%|%rep6%|%rep7%|%rep8%|%rep9%" savereport="%res1%|%res2%|%res3%|%res4%|%res6%|%res7%|%res8%|%res9%" -appendReport -nomessage -info %1
}
else{
 Echo Внимание!!! В каталоге %cd% отсутствует файл с датой "Когда получен" для ИБ %err%
 Echo.
 pause. 
 exit. 
}


Скобки нужны круглые, а не фигурные, и не впритык к строкам до или после конструкции, а через пробел (пробелы), и слово "else" не должно начинать новую строку:

Windows Batch file
1
2
3
4
5
6
7
8
if "%err%" =="" (
 ElementsCounter.exe dir="%cd%" report="%rep1%|%rep2%|%rep3%|%rep4%|%rep6%|%rep7%|%rep8%|%rep9%" savereport="%res1%|%res2%|%res3%|%res4%|%res6%|%res7%|%res8%|%res9%" -appendReport -nomessage -info %1
) else (
 echo Внимание!!! В каталоге %cd% отсутствует файл с датой "Когда получен" для ИБ %err%
 echo.
 pause
 exit
)
.

Всё-таки синтаксис языка пакетных файлов отличается от синтаксисов JavaScript или PowerShell.
1
66 / 56 / 6
Регистрация: 28.12.2011
Сообщений: 322
02.06.2015, 14:35  [ТС]
Блин, вот я лох.
Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.06.2015, 14:35
Помогаю со студенческими работами здесь

На ПК совсем не работает VPN. В чем причина?
Суть проблемы: Установил Windows XP, интернет заработал сразу без каких-либо лишних установок драйверов. Поставил программу VPN Viscosity....

mail - не работает функция. В чем причина??
Делаю отсілку сообщения: if ($act=='send' and strlen($mailto)>0 and strlen($mailfrom)>0) { $subj=$zagl.' ( от '.$mailfrom.')'; ...

Процессор работает на 69% из 100. В чем причина?
Здравствуйте, недавно выяснил, что процессор выдает не всю мощность, а всего 70%, сегодня проведя несколько стресс-тестов это...

Не работает функция file(). В чём причина?
Доброго дня! Функция file() у меня не работает. <?php $arr=file('divan.php'); foreach ($arr as $a) echo $a; Может...

Не работает самая простецкая программа.В чём причина?
После задания второй переменной ничего не происходит.Как будто разветвления и вовсе нет. #include <stdio.h> int...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru