Cmd переменные среды: Как вывести значения всех переменных окружения в Windows
Содержание
setx | Microsoft Learn
-
Статья -
-
Создает или изменяет переменные среды в пользовательской или системной среде без необходимости программирования или написания скриптов. Команда Setx также извлекает значения разделов реестра и записывает их в текстовые файлы.
Примечание
Эта команда предоставляет только командную строку или программный способ непосредственного и постоянного задания значений системной среды. Системные переменные среды можно настроить вручную с помощью панель управления или с помощью редактора реестра. Команда set , которая является внутренней для интерпретатора команд (Cmd. exe), задает переменные среды пользователя только для текущего окна консоли.
Синтаксис
setx [/s <computer> [/u [<domain>\]<user name> [/p [<password>]]]] <variable> <value> [/m] setx [/s <computer> [/u [<domain>\]<user name> [/p [<password>]]]] <variable>] /k <path> [/m] setx [/s <computer> [/u [<domain>\]<user name> [/p [<password>]]]] /f <filename> {[<variable>] {/a <X>,<Y> | /r <X>,<Y> <String>} [/m] | /x} [/d <delimiters>]
Параметры
Параметр | Описание |
---|---|
/s <computer> | Указывает имя или IP-адрес удаленного компьютера. Не используйте обратную косую черту. Значение по умолчанию — имя локального компьютера. |
/U [<domain>\]<user name> | Запускает скрипт с учетными данными указанной учетной записи пользователя. Значение по умолчанию — системные разрешения. |
/p [<password> ] | Указывает пароль учетной записи пользователя, указанной в параметре /u . |
<variable> | Указывает имя переменной среды, которую требуется задать. |
<value> | Указывает значение, для которого требуется задать переменную среды. |
/K <path> | Указывает, что переменная задается на основе сведений из раздела реестра. Путь использует следующий синтаксис: \\<HIVE>\<KEY>\...\<Value> . Например, можно указать следующий путь: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName |
/f <filename> | Указывает файл, который вы хотите использовать. |
/a <X>,<Y> | Задает абсолютные координаты и смещение в качестве параметров поиска. |
/R <X>,<Y> <String> | Задает относительные координаты и смещение строки в качестве параметров поиска. |
/m | Задает переменную в системной среде. По умолчанию используется локальная среда. |
/x | Отображает координаты файла, игнорируя параметры командной строки /a, /r и /d . |
/D <delimiters> | Задает разделители, такие как , или \ , которые будут использоваться в дополнение к четырем встроенным разделителям — ПРОБЕЛ, TAB, ВВОД и LINEFEED. Допустимые разделители включают любой символ ASCII. Максимальное число разделителей — 15, включая встроенные. |
/? | Отображение справки в командной строке. |
Эта команда аналогична служебной программе UNIX SETENV.
С помощью этой команды можно задать значения для переменных среды пользователя и системы из одного из трех источников (режимов): режим командной строки, режим реестра или режим файлов.
Эта команда записывает переменные в главную среду в реестре. Переменные, заданные с помощью переменных setx , доступны только в будущих командных окнах, а не в текущем командном окне.
HKEY_CURRENT_USER и HKEY_LOCAL_MACHINE являются единственными поддерживаемыми кустами. REG_DWORD, REG_EXPAND_SZ, REG_SZ и REG_MULTI_SZ являются допустимыми типами данных RegKey .
Если вы получаете доступ к REG_MULTI_SZ значениям в реестре, извлекается и используется только первый элемент.
Эту команду нельзя использовать для удаления значений, добавленных в локальную или системную среду. Эту команду можно использовать с именем переменной и без значения, чтобы удалить соответствующее значение из локальной среды.
REG_DWORD значения реестра извлекаются и используются в шестнадцатеричном режиме.
Режим файлов поддерживает только синтаксический анализ текстовых файлов возврата каретки и перевода строки (CRLF).
При выполнении этой команды для существующей переменной удаляются все ссылки на переменные и используются расширенные значения.
Например, если переменная %PATH% имеет ссылку на %JAVADIR%, а %PATH% управляется с помощью setx, %JAVADIR% разворачивается, а ее значение присваивается непосредственно целевой переменной %PATH%. Это означает, что будущие обновления %JAVADIR% не будут отражены в переменной %PATH%.
Имейте в виду, что при назначении содержимого переменной с помощью setx существует ограничение в 1024 символа.
Это означает, что содержимое обрезается при превышении 1024 символов, а обрезанный текст применяется к целевой переменной. Если этот обрезанный текст применяется к существующей переменной, это может привести к потере данных, ранее хранимых целевой переменной.
Примеры
Чтобы задать для переменной среды MACHINE в локальной среде значение Brand1, введите:
setx MACHINE Brand1
Чтобы задать для переменной среды MACHINE в системной среде значение Brand1 Computer, введите:
setx MACHINE Brand1 Computer /m
Чтобы задать переменную среды MYPATH в локальной среде для использования пути поиска, определенного в переменной среды PATH , введите следующее:
setx MYPATH %PATH%
Чтобы задать переменную среды MYPATH в локальной среде для использования пути поиска, определенного в переменной среды PATH после замены ~ на %, введите:
setx MYPATH ~PATH~
Чтобы задать для переменной среды MACHINE в локальной среде значение Brand1 на удаленном компьютере с именем computer1, введите:
setx /s computer1 /u maindom\hiropln /p p@ssW23 MACHINE Brand1
Чтобы задать переменную среды MYPATH в локальной среде для использования пути поиска, определенного в переменной среды PATH на удаленном компьютере с именем computer1, введите следующее:
setx /s computer1 /u maindom\hiropln /p p@ssW23 MYPATH %PATH%
Чтобы задать переменной среды TZONE в локальной среде значение, указанное в разделе реестра HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName , введите следующее:
setx TZONE /k HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName
Чтобы задать для переменной среды TZONE в локальной среде удаленного компьютера computer1 значение, указанное в разделе реестра HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName , введите следующее:
setx /s computer1 /u maindom\hiropln /p p@ssW23 TZONE /k HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName
Чтобы задать для переменной среды BUILD в системной среде значение, указанное в разделе реестра HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\CurrentBuildNumber , введите следующее:
setx BUILD /k HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\CurrentBuildNumber /m
Чтобы задать для переменной среды BUILD в системной среде удаленного компьютера Computer1 значение, указанное в разделе реестра HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\CurrentBuildNumber , введите следующее:
setx /s computer1 /u maindom\hiropln /p p@ssW23 BUILD /k HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\CurrentBuildNumber /m
Чтобы отобразить содержимое файла с именем Ipconfig. out, а также соответствующие координаты содержимого, введите:
setx /f ipconfig.out /x
Чтобы задать переменной среды IPADDR в локальной среде значение, указанное в координате 5,11 в файле Ipconfig.out , введите следующее:
setx IPADDR /f ipconfig.out /a 5,11
Чтобы задать переменной среды OCTET1 в локальной среде значение, указанное в координате 5,3 в файле Ipconfig.out с разделителями #$*,, введите следующее:
setx OCTET1 /f ipconfig.out /a 5,3 /d #$*.
Чтобы задать для переменной среды IPGATEWAY в локальной среде значение, указанное в координате 0,7 относительно координаты Gateway в файле Ipconfig.out , введите следующее:
setx IPGATEWAY /f ipconfig.out /r 0,7 Gateway
Чтобы отобразить содержимое файла Ipconfig.out вместе с соответствующими координатами содержимого, на компьютере с именем computer1 введите:
setx /s computer1 /u maindom\hiropln /p p@ssW23 /f ipconfig. out /x
- Условные обозначения синтаксиса команд командной строки
Использование переменных среды в Командной строке (Cmd.exe)
Главная страницаПолезноеКомандная строка (CMD)Переменные
Переменные устанавливают среду Cmd.exe. Они прописывают не только особенности поведения командной оболочки, но и самой ОС. Переменные следует подразделить на два вида, каждый из которых обладает уникальными свойствами: системные и локальные. Первый вид позволяет задать поведение глобальной среды ОС в процессе осуществления работы. Локальные переменные устанавливают деятельность среды исключительно в определенном экземпляре Cmd.exe. Это требуется отметить в качестве ключевого отличия.
Его говорить о системных переменных, то он предварительно заложены в ОС и могут быть использованы всеми приложениями. Чтобы внести в них изменения, необходимо обладать администраторскими правами доступа. Самым распространенным местом применения является обеспечение задачи запуска системы. Когда подобное мероприятие осуществлено для конкретного пользователя, можно говорить о возможности использования локальных переменных.
Ниже будет представлен перечень существующих классов переменных на основании важности их приоритета (по убыванию):
- Встроенные системные. Их необходимо назвать наиболее серьёзными, что предусматривает особое внимание в процессе работы.
- Переменные системного вида, относящиеся к HKEY_LOCAL_MACHINE.
- Переменные локального вида, относящиеся к HKEY_CURRENT_USER.
- Полный перечень переменных и сред, находящихся в документе Autoexec.bat.
- Полный перечень переменных и сред, находящихся в сценарии начала работы системы. В определенных ситуациях его может и не быть.
- Интерактивно применяемые переменные для прописанного сценария или пакетного документа.
Существует довольно продолжительный список переменных, относящихся к локальной или системной категории. Необходимо уделить подобному вопросу больше внимания.
Локальные переменные
Название | Информация |
---|---|
%ALLUSERSPROFILE% | Предоставляет сведения о том, где именно находится профиль All Users |
%APPDATA% | Предоставляет место нахождения программ, устанавливаемое по умолчанию |
%CD% | Позволяет получить путь до используемой папки |
%CMDCMDLINE% | Предоставляет строчку команд, с применением которой произведена работа текущего экземпляра Cmd.exe |
%LOGONSEVER% | Предоставляет название контроллера домена, осуществляющего проверку подлинности заданной сессии |
%PROMPT% | Позволяет выполнить предоставление параметров КА для действующего интерпретатора. Для получения доступа, необходимо воспользоваться Cmd.exe |
%USERDOMAIN% | Предоставляет название домена, который обладает перечнем учетных записей юзеров |
%USERNAME% | Предоставляет имя юзера, осуществившего вход в систему |
%USERPROFILE% | Осуществляет возврат положения аккаунта для текущего юзера |
Системные переменные
%CMDEXTVERSION% | Позволяет предоставить номер версии действующих расширений обработчика команд |
%COMPUTERNAME% | Предоставляет название устройства, на котором производится работа |
%COMSPEC% | Осуществляет выдачу пути к исполняемой командной оболочке |
%DATE% | Предоставляет действующие сведения. Следует отметить тот факт, что предусматривается применение формата, аналогичного date /t. Все сведения об указанной команде можно получить непосредственно из соответствующего раздела на сайте |
%ERRORLEVEL% | Используется для предоставления кода ошибки последней применяемой команды. Стандартная ситуация предусматривает наличие значения, которое является отличным от нулевого |
%HOMEDRIVE% | Осуществляет предоставление названия диска рабочей станции, который связан с каталогом юзера. Требуется устанавливать с учетом нахождения главного каталога |
%HOMEPATH% | Выполняет предоставление пути до главного каталога юзера. Следует устанавливать за счет сведений о нахождении главного каталога |
%HOMESHARE% | Выполняет предоставление пути до общего главного каталога юзера. Следует устанавливать за счет сведений о нахождении главного каталога |
%NUMBER_OF_PROCESSORS% | Определяет количество процессоров, которыми обладает конкретное устройство |
%OS% | Передает информацию о том, каким именем обладает ОС на конкретном устройстве. Существуют определенные особенности отображения названия для некоторых типов ОС и это необходимо учитывать |
%PATH% | Устанавливает путь поиска для того, чтобы обнаруживать программы |
%PATHEXT% | Предоставляет перечень расширений документов, учитываемых ОС в качестве исполняемых |
%PROCESSOR_ARCHITECTURE% | Используется в тех случаях, когда необходимо получить архитектуру определенного процессора |
%PROCESSOR_IDENTFIER% | Предоставляет короткую информацию о процессоре |
%PROCESSOR_LEVEL% | Предоставляет данные о номере модификации процессора |
%RANDOM% | Предоставляет любое целое число в диапазоне 0-32767 включительно |
%SYSTEMDRIVE% | Выполняет предоставление названия диска, на который записан корневой каталог ОС Windows XP |
%SYSTEMROOT% | Предоставляет место расположения системного каталога ОС |
%TEMP% и %TMP% | Данные переменные являются системной и пользовательской. Это позволяет осуществить исполнение одинаковых задач при различных ситуациях. Предоставляет временные папки, воспользоваться которыми могут все юзеры. Для определенных программ нужно использовать TEMP или TMP. |
%TIME% | Предоставляет сведения о времени на данный момент. Применяется аналогичный time /t формат отображения. |
%WINDIR% | Позволяет осуществить возврат каталога ОС |
Задание переменных среды
Чтобы выполнить создание, удаление или демонстрацию переменной среды, следует применять специальную команду set. Отличительной особенностью необходимо отметить корректировку переменных исключительно в среде действующей оболочки.
Для выдачи конкретной переменной, предусматривается написание в КС:
set название_переменной
Добавление ещё одной переменной осуществляется за счет прописывания:
set variablename=значение
Для выполнения процедуры удаления, стоит прописывать строку:
set название_переменной=
Системой задаётся применение большинства существующих символов для указания в роли значений. ), но это будет невозможно осуществить. Причина заключается в постоянной выдаче одной и той же ошибки.
Когда устанавливается переменная, то не представляет значения, какие именно буквы используются – большие или малые. Регистр не будет приниматься во внимание. Есть одна отличительная особенность – переменная все-равно станет отображаться именно так, как она была введена. Это позволяет облегчить задачу восприятия, если выполнить применение различных регистров для разграничения при написании названий.
Подстановка в переменные среды
Существует способ выполнить подстановку определенных значений в переменные среды непосредственно из КС или сценария. Для проведения поставленной задачи рекомендуется использовать помещение в символы процента. Это выглядит следующим образом:
%название_переменной%
Предполагается обозначение того факта, что Cmd.exe обязан обращаться сразу к значениям конкретной переменной. Процедура посимвольного сравнения осуществляться не станет. Важно учитывать тот факт, что сама подстановка не считается рекурсивной. Проверка осуществляется исключительно единожды.
Установка и использование переменной в одной командной строке Windows cmd.exe
спросил
Изменено
2 года назад
Просмотрено
139 тысяч раз
В Bash я могу сделать EDITOR=vim command
и команда
будет запущена с EDITOR
установлен на vim
, но это не повлияет на значение РЕДАКТОР
в самой оболочке. Можно ли это сделать в cmd.exe
?
- окна
- командная строка
- оболочка
2
Обратите внимание, что cmd /C "set "EDITOR=vim" && echo %EDITOR%"
не будет работать.
Также не будет cmd /C "setlocal ENABLEDELAYEDEXPANSION && set "EDITOR=vim" && echo !EDITOR!"
Вам потребуется:
- опция
/V
, чтобы включить отложенное расширение переменной среды с помощью!
в качестве разделителя. - нет пробела между командой и
&&
(или добавьте кавычки)
То есть:
C:\> cmd /V /C "set EDITOR=vim&& echo '!EDITOR!'" 'вим' # или C:\> cmd /V /C "установить "EDITOR=vim" && echo '!EDITOR!'" 'вим'
Как отметил ниже маоизм, это cmd /V /C
, не cmd /C /V
(который будет работать с не )
Я не могу придумать какой-либо практической причины, по которой вам может понадобиться это в контексте одной команды
Как правило, это необходимо, когда вам нужно заменить значение, используемое несколько раз в длинной командной строке.
Например, чтобы развернуть файл на Nexus (в несколько строк для удобочитаемости):
cmd /v /c "set g=com. agroup&& set a=anArtifact&& set v=1.1.0&& \ mvn deploy:deploy-file -Dfile=C:\path\!a!-!v!.jar \ -Dpackaging=jar -DgroupId=!g! -DartifactId=!a! -Dверсия=!v! \ -DrepositoryId=нексус -Durl=http://myserver/nexus/content/repositories/my-repo/"
Вместо того, чтобы заменять группу, артефакт (использовался 2 раза) и версию в длинной и сложной командной строке, вы можете отредактировать их в начале указанной команды. Нагляднее/проще манипулировать и изменять значения параметров.
10
Вы можете сделать это в Windows, как это, не нужно ничего устанавливать.
cmd /C "set EDITOR=vim && set"
Вы увидите список переменных, и вы увидите EDITOR=vim, теперь снова запустите «set», и он не будет указан.
Вы можете использовать несколько && для добавления дополнительных команд:
cmd /C "set EDITOR=vim && do this && do that && otherstuff"
РЕДАКТИРОВАТЬ:
/C выходит из нового cmd сразу после запуска, если вы производите вывод с новым, он все равно будет виден в родительском окне.
Вы можете использовать /K, и в этом случае новое окно cmd останется открытым в конце выполнения.
5
вы можете использовать портированную утилиту env
из пакета CoreUtils в GnuWin32 http://gnuwin32.sourceforge.net/
- Настройте его
- Проверьте, какой каталог с
env.exe
существует в переменной %PATH% - Использовать так же, как версию для Linux
env РЕДАКТОР = команда vim
2
Ответ Вонка будет работать для команд, которые ссылаются на переменную как расширенную (то есть !FOO!
вместо %FOO%
)
Однако это не сработает, если ваша команда ссылается на обычную переменную.
Например:
some-bat.bat (или любой другой исполняемый/пакетный процесс)
echo %FOO%
И основной процесс:
set FOO=foo cmd /V /C "установить FOO=bar && some-bat.bat"
Возвращает foo
вместо bar
(второе выполнение будет работать)
Но, тем не менее, вы можете объединить новый процесс cmd для принудительного обновления переменной. 9″»
1
Я создал командный файл env.cmd
, который работает примерно так же, как команда Linux env
: —
echo off setlocal для %%f в (%*) сделать ( эхо %%f|найти "=" >nul: если уровень ошибки 1 перейти к DoCmd установить %%f сдвиг ) : DoCmd %1 %2 %3 %4 %5 %6 %7 %8 %9 конечный локальный
Единственная разница в том, что из-за того, как cmd
анализирует, назначения среды должны быть заключены в кавычки, поэтому ваша команда будет:
команда env "EDITOR=vim" [до 8 параметров]
Пакетный файл можно доработать, чтобы снять ограничение на 8 параметров, создав командную строку в цикле для
(потребуется отложенное расширение).
2
Зарегистрируйтесь или войдите
Зарегистрироваться через Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и пароль
Опубликовать как гость
Электронная почта
Обязательно, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания и подтверждаете, что прочитали и поняли нашу политику конфиденциальности и кодекс поведения.
окон. Как получить существующую переменную среды, изменить ее значение и отобразить после изменения с помощью команды CMD?
спросил
Изменено
1 год, 8 месяцев назад
Просмотрено
5к раз
Итак, посоветовавшись с Берендом, я понял, что мне нужно лучше объясниться, что я и сделаю.
Итак, моя миссия состоит в том, чтобы написать пакетный сценарий Windows, который будет:
Отображать (распечатывать на экран) значение любого из переменных среды, которые у меня есть (но, возможно, мне нужно проверить, существует ли он, и если нет Мне нужно его создать? Я не уверен)
1.1 Если мне нужно проверить, существует ли переменная, есть ли какой-либо цикл if или for, который я могу сделать, чтобы проверить это?
Если нет, я думаю, что просто создам новую переменную окружения и буду работать с ней.Мне нужно обновить значение предыдущей переменной, которую я только что напечатал.
Показать значение текущей переменной После обновления, которое я только что сделал на шаге 2.
Надеюсь, теперь стало понятнее, чем раньше, и буду рад любой помощи.
- windows
- командная строка
- переменные окружения
9
Из вашего комментария я понял, что вы хотите изменить один каталог в переменной PATH.
Например, если PATH равен C:\WINDOWS\system32;C:\WINDOWS;C:\MyFolder
, его необходимо изменить на C:\WINDOWS\system32;C:\WINDOWS;C:\MyOtherFolder
Вы можете сделать это следующим образом:
эхо %PATH% установить PATH=%PATH:MyFolder=MyOtherFolder% эхо% ПУТЬ%
Синтаксис %VARIABLE:SEARCH=REPLACE%
20
Проверить существование переменной очень просто:
IF Defined SomeVariable (эхо: переменная существует) else (эхо: переменная не существует)
Чтобы проверить, имеет ли переменная пустое значение:
if "%SomeVariable%"=="" (эхо, переменная пуста) else (эхо, переменная не пуста)
Чтобы узнать, имеет ли простая переменная (переменная с одной записью) определенное значение, и если нет, измените его на нужное:
, если не "%SomeVariable%"=="ValueIWant" Setx SomeVariable "ValueIWant"
Некоторые из указанных выше, но без постоянных изменений:
если не "%SomeVariable%"=="ValueIWant" Установить SomeVariable=ValueIWant
Чтобы изменить пользовательскую или системную переменную %path%, это немного сложнее, потому что эта переменная может иметь несколько записей, разделенных точкой с запятой, вот пример пакета, который изменяет пользовательскую переменную %path% на новое значение :
вам нужно изменить строки в:
set OldEntry =
set NewEntry =
Я добавил много комментариев в пакет, чтобы вы знали, что происходит.
Вот в этом видео я показываю это в действии Youtube
Код:
@echo off setlocal EnableDelayedExpansion :: OldEntry — это запись, которая уже находится в вашем пользовательском %path%, а NewEntry — это новая запись, которая заменит OldEntry. установить OldEntry=C:\Program Files\CLI\Speedtest установить NewEntry=C:\Mybanana :: Сохраняет текущего пользователя %Path% в переменной UserPath: Для /f "tokens=2*" %%a в ('reg query "HKCU\Environment" /v "Path"') установите "UserPath=%%b" эхо. :: проверить, существует ли OldEntry в %path% пользователя, и если да, заменить OldEntry на NewEntry: for /f "delims=" %%a in ('"echo %UserPath:;=&echo.%"') do if /i "%%a"=="%OldEntry%" ( установите "NewUserPath=!UserPath:%OldEntry%=%NewEntry%!" setx Путь "!NewUserPath!" 1> ноль 2> ноль ) :: IF Variable NewUserPath не существует, что означает, что в текущем пути нет OldEntry и, следовательно, выдает ошибку: ЕСЛИ не определен NewUserPath, перейдите к: ErrorNotFound :: ЕСЛИ было выполнено успешное изменение, откроется новое окно, показывающее текущий и старый путь. .. Для /f "tokens=2*" %%a в ('reg query "HKCU\Environment" /v "Path"') установите "NewUserPath=%%b" запустить "" "%windir%\system32\cmd.exe" /c "( echo Старый пользователь %%path%%: эхо. эхо %UserPath:;=&echo.% эхо. эхо. echo Текущий пользователь %%path%%: эхо. эхо %NewUserPath:;=&echo.% эхо. эхо. эхо OldEntry = "% OldEntry%" эхо NewEntry = "%NewEntry%" эхо. Пауза )" Выход :Ошибка не найдена echo Запись "%OldEntry%" не найдена для пользователя %%path%%^^! эхо. Пауза Выход
12
Чтобы добавить или изменить число в переменной:
@echo off :: Создать переменную со значением 5 установить число = 5 эхо Шаг 01: Число: %Number% эхо. :: Измените форму значения 5 на 7 установить число = 7 эхо Шаг 02: Число: %Number% эхо. :: Использование математических операций для добавления 3 к текущему значению переменной %Number% установить /Число=%Число% + 3 эхо Шаг 03: Число: %Number% эхо. :: Добавьте значение Number к другой переменной: установить SomeVariable=%Number% echo Шаг 04: SomeVariable: %SomeVariable% эхо. Пауза
3
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и пароль
Опубликовать как гость
Электронная почта
Требуется, но никогда не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания и подтверждаете, что прочитали и поняли нашу политику конфиденциальности и кодекс поведения.