|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] cmd и echo внутри цикла |
|
CMD/BAT - [решено] cmd и echo внутри цикла
|
Пользователь Сообщения: 78 |
День добрый.
Видимо глаз совсем замылился и не вижу ошибку. set "SOFT_version=1.2.3.4" setlocal enabledelayedexpansion set count_patch=0 for /L %%n in (1,1,100) do ( set /a count_patch+=1 set "patch_number=!count_patch!" set "pname=!SOFT_Version!-!patch_number!" set "path_patch="Z:\SOFT версии\Патчи\!pname!"" set "folder=!path_patch!" echo !folder! pause cd !folder!>nul if /i !errorlevel! EQU 1 (set /a count_patch-=1 msg * Установлено !count_patch! фиксов для верcии !SOFT_version! exit ) else ( echo установка патча произведена>Z:\!--Logs--!\update_SOFT_fix\%computername%.txt ) при отключенном @echo off на экране видно что отрабатывает это как и соответственно запись в файл не происходит. в чем может быть дело? |
|
Отправлено: 14:51, 01-09-2020 |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить PM | Цитировать Z похоже на сетевой диск. Пользователь от имени которого выполняется команда видит этот диск? (в "видит" я вкладываю:
1. разрешена ли запись для шары для этого пользователя 2. есть ли соответствующие NTFS права на этой шаре 3. примаплен ли диск) ну и главный вопрос - где объявляется переменная !--Logs--!? |
Отправлено: 15:32, 01-09-2020 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 78
|
Профиль | Отправить PM | Цитировать Цитата Elven:
!--Logs--! это папка в которую падают куча логов, в том числе и планируется об апдейте софта попробовал и изменил путь до сохранения логов - не смотря на то, что на экране все равно выводит стало наконец то писать лог. теперь вопрос, как все таки заставить писать логи именно в папку Z:\!--Logs--!\update_SOFT_fix\ именно используя папку !--Logs--! |
|
Отправлено: 15:57, 01-09-2020 | #3 |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить PM | Цитировать |
Отправлено: 16:08, 01-09-2020 | #4 |
Пользователь Сообщения: 78
|
Профиль | Отправить PM | Цитировать |
|
Отправлено: 16:10, 01-09-2020 | #5 |
Ветеран Сообщения: 2733
|
Профиль | Отправить PM | Цитировать Если без setlocal enabledelayedexpansion то имя папки !--Logs--! воспримется правильно
Тупо переписал Ваш код @Echo Off cls Set "SOFT_version=1.2.3.4" For /L %%n in (1,1,100) Do ( Set /a count_patch+=1 Call Set "patch_number=%%count_patch%%" Call Set "pname=%SOFT_Version%-%%patch_number%%" Call Set "path_patch=Z:\SOFT версии\Патчи\%%pname%%" Call Set "folder=%%path_patch%%" Call Echo "%%folder%%" Call CD "%%folder%%">nul 2>nul || ( Call Set /a count_patch-=1 Call msg * Установлено %%count_patch%% фиксов для верcии %SOFT_version% Exit /B 1 ) Echo установка патча произведена>Z:\!--Logs--!\update_SOFT_fix\%computername%.txt ) Pause Exit /B Однако, ИМХО, Ваш код можно упростить
@Echo Off cls Set "SOFT_version=1.2.3.4" For /L %%n in (1,1,100) Do ( If Not Exist "Z:\SOFT версии\Патчи\%SOFT_Version%-%%n" ( Set /A count_patch=%%n-1 Call msg * Установлено %%count_patch%% фиксов для верcии %SOFT_version% Exit /B 1 ) Echo установка патча произведена>Z:\!--Logs--!\update_SOFT_fix\%computername%.txt ) Pause Exit /B |
------- Отправлено: 19:39, 01-09-2020 | #6 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Комментарий внутри цикла FOR | Sisin | Скриптовые языки администрирования Windows | 22 | 19-12-2017 14:51 | |
CMD/BAT - [решено] © и ® в ECHO cmd | tr011_tmn | Скриптовые языки администрирования Windows | 5 | 08-10-2015 19:51 | |
CMD/BAT - Переменная внутри цикла | VAbramyak | Скриптовые языки администрирования Windows | 9 | 06-06-2014 15:59 | |
CMD/BAT - [решено] %errorlevel% внутри цикла всегда 0 | apozlevich | Скриптовые языки администрирования Windows | 5 | 22-11-2013 18:55 | |
CMD/BAT - [решено] Условия внутри цикла for | blackmane | Скриптовые языки администрирования Windows | 4 | 02-08-2012 10:01 |
|