1 / 1 / 0
Регистрация: 27.03.2013
Сообщений: 18
1

Раскрытие переменных внутри скобок в условиях с IF и ELSE и в цикле с FOR

12.11.2015, 16:46. Показов 2307. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всех заглянувших приветствую, подтолкните в нужную сторону пожалуйста - знаю что код неправильный, но в упор не вижу где косяк
Windows Batch file
1
2
3
4
5
6
IF %CPU%==ON (    
    FOR /F "tokens=2* delims==" %%A IN ('WMIC PATH Win32_Processor GET LoadPercentage /value^|Findstr "="') DO SET USED_CPU=%%A
    SET JSON_CPU=""cpu":{"cpu_used":"$USED_CPU"},"
    ) else (   
    SET JSON_CPU=""
    )
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.11.2015, 16:46
Ответы с готовыми решениями:

Скобки внутри скобок внутри еще одних скобок
Доброго времени суток. Имеется код: document.write("<input type='button' value='VK' onclick='document.location.href =...

раскрытие скобок
Доброе время суток! Понимаю, что вопрос очень глупый))но начала раскрывать скобки в выражении и получился немного другой вид, нежели,...

Раскрытие скобок
Подскажите, пожалуйста, алгоритм раскрытия вложенных и перемножаемых скобок типа: (..())()()

5
Покинул форум
3700 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
12.11.2015, 17:07 2
HochuNaCubu, стоило бы пояснить какого эффекта Вы ожидаете от кода. Во-вторых, что-то какой-то замороченный уж больно запрос к WMI, - можно проще:
Windows Batch file
1
wmic cpu get loadpercentage /value
Того же результата можно добиться, обратившись к счетчикам производительности:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
@echo off
  setlocal&chcp 1251>nul
    :: если переменной cpu присвоено некоторое значение
    if defined cpu (
      for /f "tokens=3 delims=,." %%i in (
        'typeperf "\Процессор(_Total)\%% загруженности процессора" -sc 1^
        ^| findstr /rc:"/"'
      ) do set "cpu_usage=%%~i"
      :: прочие действия - соль, перец по вкусу
    )
  endlocal&chcp 866>nul
exit /b
Однако ни в том, ни в другом случае показателям доверять нельзя.
0
1 / 1 / 0
Регистрация: 27.03.2013
Сообщений: 18
12.11.2015, 17:17  [ТС] 3
записываю в переменные системные показатели..
а почему не стоит доверять? wmic выводит недостоверные данные?
0
Покинул форум
3700 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
12.11.2015, 17:23 4
HochuNaCubu, какбэ... если Вы не в курсе, то под загрузкой процессора (а речь ведь в данном случае о ней, верно?) в майкрософт подразумевают готовность потока поделиться остатками кванта, отпущенного ему процессорного времени, а потому ни wmic, ни typeperf, ни чему бы то ни было анологичному доверять не стОит.
0
1 / 1 / 0
Регистрация: 27.03.2013
Сообщений: 18
12.11.2015, 17:36  [ТС] 5
ясно, спасибо
0
1 / 1 / 0
Регистрация: 27.03.2013
Сообщений: 18
12.11.2015, 23:40  [ТС] 6
подскажите что делаю не так
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
FOR /F "tokens=2* delims==" %%A IN ('WMIC PATH Win32_ComputerSystemProduct GET uuid /value^|Findstr "="') DO SET FN_UUID=%%A
 
IF EXIST %FN_UUID% (
    SET UUID=%FN_UUID%
        ::в след строке не читается переменная %UUID%
        SET JS_UUID="uuid:\%UUID%"
    ) else (
    FOR /F "tokens=2* delims==" %%A IN ('WMIC PATH Win32_ComputerSystem GET UserName /value^|Findstr "="') DO SET UNAME=%%A
        ::в след строке не читается переменная %UNAME%
    SET JS_UNAME="uname:\%UNAME%"
    )
ни в блоке идущем после IF, ни в блоке после ELSE не выполняются вторые строки (подписаны комментами в коде)

Добавлено через 22 минуты
сам задал сам решил... может кому пригодится
Решается эта проблема путем использования отложенного раскрытия переменных. Переменные, заключенные в !…! вместо %…%, будут раскрыты в их значения только в момент непосредственного использования. Данный режим по умолчанию отключен. Включить его можно либо использованием ключа /V:ON при вызове cmd.exe, либо использованием команды
Windows Batch file
1
setlocal enabledelayedexpansion
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
setlocal enabledelayedexpansion
 
rem ...
 
if "%BUILDMODE%" == "debug" (
    echo INFO: Setting up debug mode environment
    set OPTFLAGS=/Od
    set CCFLAGS=!OPTFLAGS! /MDd /Z7
) else (
    echo INFO: Setting up release mode environment
    set OPTFLAGS=/O2
    set CCFLAGS=!OPTFLAGS! /MD
)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.11.2015, 23:40
Помогаю со студенческими работами здесь

Множества, раскрытие скобок
x принадлежит(A U B) в отрицании => x не принадлежит A(без отрицания) или x не принадлежит B(без отрицания). Почему при раскрытии скобок...

Раскрытие скобок в формуле
Добрый день, Есть такая формула (x+1)(x-1)(x-2) как можно её переделать в вид что бы получилось {x}^{3}+2{x}^{2}-x-2 и показать её на...

Раскрытие скобок и группировка
Помогите раскрыть скобки и сгруппировать по степеням epsilon. Как ни пытался не смог сделать это адекватно. Вот одна из более менее удачных...

Чтение имён переменных из файла и раскрытие этих переменных
Допустим есть скрипт "1",в котором описано: set ueqrxbfmfi=t for /f "usebackq tokens=*" %%a in ("test.txt") do set...

Раскрытие скобок и перевод ответа в вектор
Есть полином, который задается через произведение, т.е. (x-a1)*(x-a2)*...(x-aN). Я раскрываю скобки с помощью expand. Но ответ выдается в...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

Новые блоги и статьи
Сопоставление с образцом (Pattern Matching) в Python: Списки и словари
py-thonny 19.03.2025
Программисты любят, когда код говорит сам за себя. Представьте, что вы можете просмотреть структуру данных и мгновенно понять, что с ней делать — без сложных условий и вложенных проверок. Именно эту. . .
Работа с метаданными EXIF и JPEG в JavaScript
run.dev 19.03.2025
Работа с изображениями в веб-разработке нередко выходит за рамки простого отображения картинки. Современные задачи требуют глубокого понимания структуры файлов и умения манипулировать их внутренними. . .
Чеклист для Kubernetes в продакшене: Лучшие практики для SRE
Mr. Docker 19.03.2025
Когда сталкиваешься с запуском Kubernetes в продакшене, невольно задаешься вопросом: почему то, что так гладко работало в тестовой среде, вдруг начинает вызывать головную боль на боевых системах?. . .
Разработка продвинутого ИИ в Unity с использованием Behavior Graph
GameUnited 19.03.2025
В разработке игр искусственный интеллект персонажей часто становится тем элементом, который превращает хорошую игру в выдающуюся. До недавнего времени разработчикам под Unity приходилось либо писать. . .
Словари в Python: методы работы, оптимизация, сериализация
py-thonny 19.03.2025
Каждый хотя бы раз сталкивался с необходимостью хранить связанные данные, где важна не только сама информация, но и их взаимосвязь. В дебрях Python словари — это тот универсальный инструмент, который. . .
Реализация паттерна CQRS с Event Sourcing в PHP
Jason-Webb 19.03.2025
CQRS (Command Query Responsibility Segregation) — это архитектурный паттерн, который разделяет операции чтения и записи данных в приложении. Если вы столкнулись с ситуацией, когда ваше PHP-приложение. . .
std::span в C++: Подпредставлени­я и срезы
NullReferenced 18.03.2025
Если вы когда-нибудь работали с большими объемами данных в C++, то наверняка сталкивались с необходимостью манипулировать отдельными частями массивов или контейнеров. Традиционные подходы часто. . .
std::span в C++: Доступ к элементам и итерирование
NullReferenced 18.03.2025
В C++ каждый разработчик сталкивается с проблемой эффективного управления последовательностями данных. Представьте: вы работаете с массивом, передаете его в функцию, а затем в другую, и каждый раз. . .
Утечки памяти в C#
UnmanagedCoder 18.03.2025
Когда мы говорим о разработке приложений на C#, то часто успокаиваем себя мыслью, что сборщик мусора решит все наши проблемы с памятью. "Память управляется автоматически" — эта мантра прочно засела в. . .
std::span в C++: Введение в невладеющее представление
NullReferenced 18.03.2025
С появлением стандарта C++20 у нас появился новый инструмент — std::span, который представляет собой невладеющее представление для работы с последовательностями данных. std::span — это легковесный. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru