Форум: категории и разделы Начало работы с ltcraft.ru Команда SETX и прочее...

Команда SETX и прочее...

Зарегистрируйтесь или войдите, чтобы отвечать
10 сообщений в этой теме

dimasw
Зарегистрирован:
29-08-2013, 22:46
Сообщений: 0

народ!!!

При более подробном изучении выяснилось следующее:

Во всех батниках мы упорно пишем setx GPU_MAX_ALLOC_PERCENT 100

Однако, если запустить эту команду через cmd.exe, то выясняется,

что такой команды в Виндовсе НЕТ. Читаем Microsoft  http://technet.microsoft.com/ru-ru/library/cc755104(v=ws.10).aspx  

и выясняем, что такая команда существует только для сервера Windows 2008 и Windws Vista (см. пункт "назначение" в вышеуказанной ссылке).

Но зато есть команда SET которая нормально прокатывает.

Или это только у меня так...

Сообщение отредактировано: 13-11-2013, 02:47

buratillo
Зарегистрирован:
5-09-2013, 13:05
Сообщений: 0

dimasw, и... вывод какой?


buratillo
Зарегистрирован:
5-09-2013, 13:05
Сообщений: 0

Буратилла делает успехи в программировании ,он узнал команду;

 -"@echo off"- Эта команда отключит вывод команд на экран на протяжении выполнения всего пакетного файла. Чтобы сама команда не выводилась, она начинается с символа @       - во!

Сообщение отредактировано: 13-11-2013, 03:04

qboost
Зарегистрирован:
16-09-2013, 16:40
Сообщений: 0

dimasw, хм, а попробовать не судьба? )))

Win7 x86 SP1

Вот:

c:>setx /?

 

Три способа выполнения SetX:

 

Синтаксис 1:

    SETX [/S <система> [/U [<домен>]<пользователь> [/P [<пароль>]]]] var

         <значение> [/M]

 

Синтаксис 2:

    SETX [/S <система> [/U [<домен>]<пользователь> [/P [<пароль>]]]] var /K

         <путь> [/M]

 

Синтаксис 3:

    SETX [/S <система> [/U [<домен>]<пользователь> [/P [<пароль>]]]]

         /F <файл> {var {/A x,y | /R x,y строка}[/M] | /X} [/D <разделители>]

 

Описание.

    Создание или изменение переменных среды в пользовательской

    или системной среде. Переменные можно задавать с помощью

    аргументов, параметров реестра или ввода из файла.

 

Параметры:

    /S     <система>                Подключаемый удаленный компьютер.

 

    /U     [<домен>]<пользователь> Пользовательский контекст, в котором

                                    должна выполняться эта команда.

 

    /P     [<пароль>]               Пароль для этого пользовательского

                                    контекста.

 

    var                             Задаваемая переменная среды.

 

    значение                        Значение, назначаемое переменной

                                    среды.

 

    /K     <путь>                   Задание переменной по информации,

                                    содержащейся в параметре реестра.

                                    Путь должен задаваться в формате

                                    кустраздел...параметр. Например,

                                    HKEY_LOCAL_MACHINESystem

                                    CurrentControlSet

                                    Control imeZoneInformationStandardName.

 

    /F     <файл>                   Имя текстового файла, который следует

                                    использовать.

 

    /A     x,y                      Задание абсолютных координат файла

                                    (строка X, элемент Y) как параметров

                                    поиска в файле.

 

    /R     x,y <строка>             Задание координат относительно значения

                                    "строка" как параметров поиска.

 

    /M                              Указание создания переменной среды

                                    на системном уровне (HKEY_LOCAL_MACHINE).

                                    По умолчанию переменная среды

                                    создается в разделе HKEY_CURRENT_USER

                                    на уровне пользователя.

 

    /X                              Отображение содержимого файла с

                                    координатами x,y.

 

    /D     <разделители>            Указание дополнительных разделителей,

                                    таких как "," или "".

                                    Встроенные разделители: символы пробела,

                                    табуляции, возврата каретки и перевода

                                    строки. Дополнительным разделителем может

                                    быть любой знак ASCII.

                                    Максимальное число разделителей,

                                    включая встроенные, равняется 15.

 

    /?                              Вывод справки по использованию.

 

Примечания.

      1) SETX записывает переменные в главную среду в реестре.

 

      2) На локальном компьютере переменные, созданные или измененные данным

         средством, будут доступны в будущем окне командной строки,

         но не в текущем окне CMD.exe.

 

      3) На удаленном компьютере переменные, созданные или измененные данным

         средством, будут доступны со следующего сеанса входа.

 

      4) Допустимые типы параметров реестра: REG_DWORD, REG_EXPAND_SZ,

         REG_SZ, REG_MULTI_SZ.

 

      5) Поддерживаемые кусты:  HKEY_LOCAL_MACHINE (HKLM),

         HKEY_CURRENT_USER (HKCU).

 

      6) Разделители определяются с учетом регистра.

 

      7) Значения типа REG_DWORD извлекаются из реестра в десятичном

         формате.

 

Примеры:

    SETX MACHINE COMPAQ

    SETX MACHINE "COMPAQ COMPUTER" /M

    SETX MYPATH "%PATH%"

    SETX MYPATH ~PATH~

    SETX /S система /U пользователь /P пароль  MACHINE COMPAQ

    SETX /S система /U пользователь /P пароль MYPATH ^%PATH^%

    SETX TZONE /K HKEY_LOCAL_MACHINESystemCurrentControlSet

         Control imeZoneInformationStandardName

    SETX BUILD /K "HKEY_LOCAL_MACHINESoftwareMicrosoftWindows

         NTCurrentVersionCurrentBuildNumber" /M

    SETX /S система /U пользователь /P пароль TZONE /K HKEY_LOCAL_MACHINE

         SystemCurrentControlSetControl imeZoneInformation

         StandardName

    SETX /S система /U пользователь /P пароль  BUILD /K

         "HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NT

         CurrentVersionCurrentBuildNumber" /M

    SETX /F ipconfig.out /X

    SETX IPADDR /F ipconfig.out /A 5,11

    SETX OCTET1 /F ipconfig.out /A 5,3 /D "#$*."

    SETX IPGATEWAY /F ipconfig.out /R 0,7 Gateway

    SETX /S система /U пользователь /P пароль  /F c:ipconfig.out /X

 

dimasw
Зарегистрирован:
29-08-2013, 22:46
Сообщений: 0

qboost, так я и попробовал:

 

а вот set работает

 

Сообщение отредактировано: 13-11-2013, 07:27

Lauarvik
Зарегистрирован:
19-10-2013, 18:33
Сообщений: 0

dimasw, команда setx является внешней программой setx.exe, в отличие от set - это внутренняя команда языка пакетной обработки

если при вызове setx выдается ошибка, что команда не найдена, значит по какой-то причине в переменной PATH нет пути к каталогу %windir%system32, где она, собственно, и расположена (или %windir%SysWOW64, но в эти детали вдаваться не будем)

ситуация эта не нормальная, но если сделать всё тупо и быстро, то вместо просто setx, можно написать %windir%system32setx, т.е.

%windir%system32setx GPU_USE_SYNC_OBJECTS 1

%windir%system32setx GPU_MAX_ALLOC_PERCENT 100

либо

set PATH=%windir%system32;%PATH%

setx GPU_USE_SYNC_OBJECTS 1

setx GPU_MAX_ALLOC_PERCENT 100

 PS: setx сохраняет значение переменных в профиле пользователя (или в системном, с ключом /m) и нет необходимости вызывать эту команду всё время, достаточно одного раза

Сообщение отредактировано: 13-11-2013, 07:50

RiderA
Зарегистрирован:
11-08-2013, 00:47
Сообщений: 0

setx отсутствует только в Виндах ниже Висты (серверные я не учитываю).

Но есть специальное обновление для ВинХР, которое добавляет поддержку setx.


mikser
Зарегистрирован:
1-09-2013, 03:38
Сообщений: 0

Lauarvik, спасибо за разъяснения. А теперь для тех кто на бронепоезде. У меня тоже setx ничего не выводит, значит ли это, что setx.exe не работает? В тоже время set выводит приличную портянку инфы О_о

UPD

В общем разобрался, у меня все ок, setx работает.

Сообщение отредактировано: 13-11-2013, 10:52

dimasw
Зарегистрирован:
29-08-2013, 22:46
Сообщений: 0

Lauarvik, спасибо, разобрался. Если правильно понимаю setx ставит значение навсегда, а команда set только на одну сессию.


Lauarvik
Зарегистрирован:
19-10-2013, 18:33
Сообщений: 0

dimasw, ну если грубо, то да

хотя не совсем так

set изменяет переменные окружения только в текущем контексте, который потом наследуется cgminer, но не будем вдаваться в детали, будем счетать что ты прав ;)

Сообщение отредактировано: 13-11-2013, 14:01