В более старых версиях Windows он просто открыл панель управления, выберите системный апплет, перейдите на вкладку “Дополнительно”, а затем нажмите кнопку “Переменные среды”. Как обычный пользователь, вы можете редактировать “Пользовательские переменные”, но не “Системные переменные”.
В Windows Server 2008 R2, если я пытаюсь использовать параметр “Дополнительные параметры системы” в апплете “Система”, он запрашивает пароль администратора.
Ответ 1
Вы также можете использовать эту прямую командную строку для открытия расширенных свойств системы:
sysdm.cplОтвет 2
ОК, я нашел его. Арг, упражнение в расстройстве. Они оставили путь прохождения старого окна, чтобы изменить переменные среды там, но ограниченный доступ только к администраторам. Как обычный пользователь, если вы хотите его изменить, вам нужно пройти через другой набор параметров, чтобы добраться до того же окна фрегата.
Ответ 3
- Перейдите в Панель управления\Система и безопасность\Система
- Нажмите “Изменить настройки”
- Перейдите на вкладку “Предварительный просмотр”.
- Нажмите “Переменные среды”
Ответ 4
В разделе “Пуск” введите “окружение” в поле поиска. В этом списке будет указана возможность изменения системных переменных непосредственно в меню “Пуск”.
Ответ 5
Это можно сделать из командной строки с помощью команды SETX. Например, чтобы “переместить” ваши временные файлы на другой диск:
SETX TEMP d:\tmpОтвет 6
В командной строке:
set __COMPAT_LAYER=RUNASINVOKER
SystemPropertiesAdvanced.exeТеперь вы можете установить переменные среды пользователя.
Ответ 7
Ответ 8
Есть три способа
1) Запускает графический редактор для переменных среды пользователя. Он делает именно то, что хотел сделать OP, и не запрашивает учетные данные администратора.
rundll32.exe sysdm.cpl,EditEnvironmentVariables(бонус: это работает от Windows Vista до Windows 10 для настольных компьютеров и от Windows Server 2008 до Server 2016. Это не работает в Windows NT, 2000, XP и 2003. Однако в старых системах вы можете использовать sysdm.cpl без “EditEnvironmentVariables”, затем перейдите на вкладку “Дополнительно” и нажмите кнопку “Переменные среды”.)
2) Используйте команду SETX из командной строки. Это похоже на команду set, но обновляет среду, которая хранится в реестре. К сожалению, SETX не так прост в использовании, как встроенная команда SET. Там нет способа перечислить переменные, например. Таким образом, невозможно сделать что-то, например, добавить папку в пользовательскую переменную PATH. В то время как SET будет отображать переменные, вы не знаете, какие из них являются пользовательскими или системными переменными, а отображаемый PATH является комбинацией обоих.
Помните, что изменения в пользовательской среде не сразу распространяются на все процессы, запущенные в данный момент для этого пользователя. Вы можете увидеть это в командной строке, где ваши изменения не будут видны, если вы используете SET. Например
rem Add a user environment variable named stackoverflow that set to "test"
setx stackoverflow test
set st Это должно показать все переменные, имена которых начинаются с букв “st”. Если их нет, отображается ” Environment variable st not defined “. Выйдите из командной строки и запустите другую. Попробуйте set st раз, и вы увидите
stackoverflow=testЧтобы удалить переменную stackoverflow, используйте
setx stackoverflow "" Он ответит ” SUCCESS: Specified value was saved. “, что выглядит странно, если вы хотите удалить переменную. Однако если вы запустите новую командную строку, то set st покажет, что нет переменных, начинающихся с букв “st”
Переменная окружения (переменная среды́, англ. environment variable) — текстовая переменная операционной системы, хранящая какую-либо информацию — например, данные о настройках системы или сведения о текущем пользователе.
Работа с переменными¶
В качестве примера можно привести переменную , которая указывает путь до папки, в которой хранятся настройки некоторых программ текущего пользователя. Обычно это , где Пользователь это изменяемое значение. Для каждой учетной записи используется своё имя пользователя.
Чтобы каждый раз не узнавать имя учетной записи текущего пользователя и не подставлять в путь к папке соответствующее значение и используется переменная окружения .
Введенная в командной строке, эта комбинация отобразит архитектуру процессора текущего компьютера. Возможен один из трёх вариантов: , , .
Список переменных¶
Далее приводится список основных переменных, более подробный список приведен в статье Переменная среды Windows.
Изменение переменных¶
Чтобы изменить значение переменной, используется команда , например:
Бездумное изменение стандартных значений переменных может привести к необратимым последствиям!
Переменные окружения (среды) в Windows содержат различную информацию о настройках системы и среды пользователя. Различают переменные окружения пользователя, системы и процессов.
Самый простой способ просмотреть содержимое переменных окружения в Windows – открыть свойства системы (sysdm.cpl) -> Дополнительно -> Переменные среды. Как вы видите, в открывшемся есть две секции: в верхней содержатся переменные окружения пользователя, в нижнем – системные.


Вывести значения всех переменных окружения можно в командной строке Windows. Команда простая:

Команда выведет список переменных среды и их значения.
В PowerShell для вывод всех переменных окружения можно использовать команду:

Чтобы сохранить все переменные среды и их значения в текстовый файл, воспользуйтесь командой:
set > c:\tmp\env_var.txt

Переменные окружения конкретного процесса можно получить с помощью бесплатной утилиты Process Explorer (от Sysinternals). Достаточно открыть свойства процесса и перейти на вкладку Environment.

оскольку операционная система Windows ориентирована на самую широкую аудиторию пользователей, большинство её настроек доступны через графический интерфейс, представленный различными кнопками, чекбоксами, переключателями, ползунками и тому подобными элементами управления. Но есть также и такие настройки, которые нужно править вручную, например, параметры реестра и значения переменных окружения.
Переменные окружения или иначе переменные среды в Windows представляют собой своего рода контейнеры, хранящие данные о настройках операционной системы. Так, к примеру, переменная содержит путь поиска исполняемых файлов, а переменная – расширения файлов, которые идентифицируются Windows как исполняемые. Есть переменные, которые возвращают текущую дату и время, архитектуру процессора, путь к профилю текущего пользователя и даже случайные числа от 0 до 32767.
В Windows, в частности в версии 10, есть несколько способов просмотреть список доступных для редактирования переменных. Вот самый простой из них. Перейдите в панель управления, откройте апплет Система, а затем выберите Дополнительные параметры системы -> Переменные среды.

Откроется окошко, содержащее список системных и пользовательских переменных с их значениями.

Добраться к ним также можно через реестр.
Открыв командой редактор реестра, разверните в левой колонке ветку:
HKEY_CURRENT_USER\Environment
Последний подраздел содержит пользовательские переменные, таковыми в Windows 10 являются содержащие пути к временным каталогам, папке с данными универсальных приложений Microsoft, имя активного пользовательского сеанса, словом, всё, что имеет непосредственно отношение к конкретному пользователю.
Чтобы просмотреть список системных переменных окружения, разверните ветку:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
Есть и третий, альтернативный вариант.
Просмотреть список переменных среды можно с помощью обычной командной строки.
Открыв консоль CMD, выполните в ней команду

И Windows тут же выведет полный список всех переменных окружения вместе с их значениями.
Переменные окружения Windows используются в командной строке, в диалоговом окне «Выполнить» и адресной строке Проводника. Переменная среды может содержать информацию о настройках системы или данные о текущем пользователе компьютера.
Переменные среды Windows делятся на два вида:
- Пользовательские переменные среды — содержат указания пути к пользовательским каталогам.
- Системные переменные среды — содержат информацию о каталогах ОС и конфигурации ПК.
Переменные окружения часто используются при написании скриптов, или при работе в командной строке. Короткие переменные можно использовать вместо полного пути до файла или папки, например, при создании ярлыков, при вводе пути к объекту.
Пример использования переменной среды Windows
Рассмотрим следующий пример: пользователю нужно открыть системную папку «AppData», в которой находятся различные данные программ, установленных в операционную систему Windows. Скрытая папка «AppData» находится в профиле пользователя, обычно на диске «C:». Данные приложений расположены по пути:
C:\Users\Имя_ пользователя\AppData\Roaming
Чтобы получить доступ к этой папке нужно выполнить несколько последовательных действий: открыть Проводник, включить в Windows отображение скрытых папок и файлов, а затем пройти по всему пути до нужной папки.
При помощи переменной «%APPDATA%» (переменная используется без кавычек) можно сразу открыть нужную директорию в системе, без ввода имени пользователя, включения отображения скрытых папок, ввода полного пути. Это экономит много времени.
Чтобы открыть нужный каталог достаточно лишь ввести «%APPDATA%» в поле поиска Windows, в адресную строку Проводника или в диалоговое окно «Выполнить», а затем нажать на клавишу «Enter».
Переменные среды Виндовс заключены в специальный оператор «%», который находится с двух сторон названия переменной. Это необходимо, чтобы система могла обработать запрос.
Пользователь может самостоятельно создавать переменные среды или изменять существующие. В статье мы рассмотрим несколько способов просмотра переменных среды и самостоятельное создание переменной. В руководстве вы найдете таблицу со списком переменных, применяемых в операционных системах Windows 10, Windows 8.1, Windows 8, Windows 7.
Как посмотреть переменные среды Windows 10
Сейчас мы посмотрим, как получить доступ к переменным средам в операционной системе Windows 10. В других версиях Windows необходимо выполнить аналогичные действия.
Чтобы посмотреть переменные окружения Windows 10, выполните следующее:
- Нажмите на клавиши» «Win» + «R».
- В окне «Выполнить» введите команду: «systempropertiesadvanced» (без кавычек), а затем нажмите на кнопку «ОК».
- В окне «Свойства системы», во вкладке «Дополнительно» нажмите на кнопку «Переменные среды…».

- В окне «Переменные среды» отображаются пользовательские переменные среды и системные переменные среды.

Доступ к переменным средам из реестра Windows
Есть возможность получить доступ к переменным средам из системного реестра Windows. Пользователю нужно будет открыть редактор реестра, а затем пройти по пути до определенной ветки.
Системные переменные среды находятся по следующему пути:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

Переменные среды локального пользователя расположены в следующей ветке реестра:
HKEY_CURRENT_USER\Environment

Вы можете создать в редакторе реестра новые переменные или изменить существующие.
Как посмотреть все переменные среды в командной строке
Пользователь может получить список переменных среды при помощи системного инструмента — командной строки Windows.
В cmd переменные среды открываются следующим образом:
- Запустите командную строку от имени администратора.
- Выполните команду:
set

Для получения списка переменных в виде текстового файла, выполните в командной строке команду:
set > C:\Variables.txt
После выполнения этой команды, на Локальном диске «C:» появится текстовый файл с именем «Variables» (имя можно использовать любое), в котором находится список переменных среды Windows.
ALLUSERSPROFILE=C:\ProgramData APPDATA=C:\Users\User\AppData\Roaming CommonProgramFiles=C:\Program Files\Common Files CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files CommonProgramW6432=C:\Program Files\Common Files COMPUTERNAME=DESKTOP-3HEECRJ ComSpec=C:\WINDOWS\system32\cmd.exe DokanLibrary1=C:\Program Files\Dokan\DokanLibrary-1.2.2\ DriverData=C:\Windows\System32\Drivers\DriverData HOMEDRIVE=C: HOMEPATH=\Users\User LOCALAPPDATA=C:\Users\User\AppData\Local LOGONSERVER=\\DESKTOP-3HEECRJ NUMBER_OF_PROCESSORS=4 OneDrive=C:\Users\User\OneDrive OneDriveConsumer=C:\Users\User\OneDrive OS=Windows_NT Path=C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Users\User\AppData\Local\Microsoft\WindowsApps PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC PROCESSOR_ARCHITECTURE=AMD64 PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 60 Stepping 3, GenuineIntel PROCESSOR_LEVEL=6 PROCESSOR_REVISION=3c03 ProgramData=C:\ProgramData ProgramFiles=C:\Program Files ProgramFiles(x86)=C:\Program Files (x86) ProgramW6432=C:\Program Files PROMPT=$P$G PSModulePath=C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules PUBLIC=C:\Users\Public SystemDrive=C: SystemRoot=C:\WINDOWS TEMP=C:\Users\User\AppData\Local\Temp TMP=C:\Users\User\App\Data\Local\Temp TMPDIR=C:\Users\Public\Documents\Wondershare\Creator\Temp USERDOMAIN=DESKTOP-3HEECRJ USERDOMAIN_ROAMINGPROFILE=DESKTOP-3HEECRJ USERNAME=User USERPROFILE=C:\Users\User windir=C:\WINDOWS
Открытие списка переменных среды в Windows PowerShell
Открытие списка переменных среды возможно при помощи системного средства Windows PowerShell.
Выполните следующие действия:
- Запустите Windows PowerShell от имени администратора.
- Введите команду, а затем нажмите на клавишу «Enter»:
dir Env:
- В окне PowerShell откроется список переменных среды Windows.

Создание переменной среды в Windows
Пользователь может самостоятельно создать новую переменную для открытия директорий на компьютере, или для запуска программ.
Перед внесением изменений в переменные окружения, обратите внимание на то, что бездумное изменение значений переменных среды Windows может привести к сбоям или неполадкам в работе операционной системы.
- В окне «Переменные среды» выберите одну из групп переменных: пользовательские или системные переменные.
- Нажмите на кнопку «Создать…».

На этом примере я создам отдельную переменную среды для запуска программы TeamViewer.
- В окне «Изменение пользовательской переменной» добавьте имя переменной, а в поле «Значение переменной:» введите полный путь к исполняемому файлу.

- В окне переменных сред добавилась новая переменная. Нажмите на кнопку «ОК» для применения изменений.

- В диалоговом окне «Выполнить» введите «%Имя_переменной%», в нашем случае, «%TeamViewer%», нажмите на кнопку «ОК».

- На Рабочем столе компьютера откроется окно запущенной программы.
Подобным способом, после ввода переменной в адресную строку Проводника, выполняется запуск программы или открытие директории на ПК.
Переменная среды пути «Path» содержит список директорий на компьютере, в которых система должна искать исполняемые файлы. Переменная среды пути «PATH» не добавляется к исполняемым файлам, а только к директориям, где находятся данные файлы.
Если добавить в переменную среды Path Windows путь к директории с исполняемым файлом, например, для браузера Google Chrome: C:\Program Files (x86)\Google\Chrome\Application, то программа запустится из командной строки, после выполнения команды «chrome», без ввода полного пути к исполняемому файлу.

При необходимости, пользователь может удалить ненужную переменную из операционной системы Windows.
Список переменных среды Windows в таблице
Для удобства посетителей сайта я собрал в общую таблицу переменные, их описание и значения в операционной системе Windows. В подавляющем большинстве случаев, системная папка расположена на диске «C:», поэтому пути в значениях даны для этого диска.
Выводы статьи
Переменные окружения Windows позволяют пользователю экономить время во время работы на компьютере. Переменными средами Windows могут пользоваться обычные пользователи или системные администраторы для быстрого доступа к объектам операционной системы, чтобы открыть нужную директорию на компьютере, или запустить программу.
Переменная среды
Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 3 декабря 2019 года; проверки требуют 20 правок.
Переменная среды́ (англ. ) — текстовая переменная операционной системы, хранящая какую-либо информацию — например, данные о настройках системы.
Переменные среды UNIXПравить
Переменные среды устанавливаются пользователем или сценариями оболочки. Начальный набор переменных задаётся стартовыми сценариями операционной системы и сценариями, запускаемыми при регистрации пользователя в системе, в частности, /etc/profile и ~/.bash_profile.
Среда имеет большое значение в UNIX-системах, так как хранит множество настроек как системы в целом, так и отдельных программ. Важной особенностью является то, что при создании дочерний процесс получает локальную копию среды родительского процесса, а, значит, не может изменить напрямую глобальные установки.
Среда представляет собой набор пар «имя переменной» и «значение переменной», реализация управления которыми возложена обычно на командный интерпретатор. Так как существует достаточно большое количество интерпретаторов, синтаксис различается в зависимости от используемого пользователем интерпретатора. Как «имя», так и «значение» чувствительны к регистру символов, «Имя» обычно указывается в верхнем регистре, использование пробелов недопустимо.
В сценариях обычно используются объявления вида ИМЯ_ПЕРЕМЕННОЙ="значение переменной", но конкретный синтаксис зависит от используемого интерпретатора.
Для получения значения переменной необходимо перед её именем поставить символ доллара. Также иногда требуется заключить имя в скобки (например, в сценариях утилиты make).
Из командной строки управление переменными осуществляется с помощью export и env.
Переменные среды WindowsПравить
Переменные среды задаются в реестре Windows и программным обеспечением. Они могут использоваться в командной строке и в адресной строке проводника.
Переменные среды Windows делятся на две категории:
- Переменные среды пользователя — содержат настройки конкретного пользователя, например, указывают путь до пользовательских каталогов.
- Системные переменные — хранят данные о некоторых каталогах операционной системы и конфигурации компьютера.
Обращение к некоторой переменной среды возможно таким образом: %ИМЯ_ПЕРЕМЕННОЙ%. Также возможно выделение из переменной её части (если на компьютере не отключены расширения командного процессора, по умолчанию они включены), например, печать различных частей переменной VAR с использованием командной строки Windows:
- Вывод содержимого переменной —
echo %VAR%. - Вывод первых четырёх символов —
echo %VAR:~0,4%. - Вывод символов с третьего по шестой —
echo %VAR:~2,4% - Вывод последних четырёх символов —
echo %VAR:~-4%
Некоторые переменные среды
Работа с переменными
Чтобы получить доступ к значению переменной, необходимо поставить знак % перед её названием и после него, например:
echo %PROCESSOR_ARCHITECTURE%
Чтобы установить значение переменной:
SET TEMP=C:\TEMP
Также необходимо помнить, что, в отличие от UNIX-систем, в DOS и в стандартной командной строке Windows переменные среды не наследуются запускаемыми процессами, а используются совместно. Это позволяет, например, возвращать через них результаты работы программ, но, с другой стороны, создаёт возможность порчи или переполнения. Особенно актуально переполнение для переменной PATH, поскольку она часто дополняется при работе различных скриптов. При возникновении такого переполнения достаточно просто перезапустить интерпретатор командной строки. Интерпретаторы, портированные из UNIX-систем (например, Z-shell), такой проблеме не подвержены.
Получить значение переменной в программном коде можно с помощью метода ExpandEnvironmentStrings COM-объекта WScript.Shell:
WScriptShell = ObjCreate("WScript.Shell")
UserName = WScriptShell.ExpandEnvironmentStrings("%USERNAME%")Следует учитывать, что набор значений переменных среды получается процессом во время его запуска, все запускаемые им подчиненные процессы получают значения переменных из этого набора, если второй процесс (независимый от первого) изменяет значение переменной среды или создает новую переменную, эти изменения не будут доступны первому процессу.
Очень часто встречается неправильное понимание слова «среда» в словосочетании «Переменные среды». Непонимание возникает из-за прочтения слова «среды» с неправильным ударением на первый слог, что приводит к распознаванию этого слова как формы именительного падежа множественного числа слова «среда» (окружение). Правильным является понимание слова «среды́» как формы родительного падежа единственного числа слова «среда» и произношение с ударением на второй слог.
Таким образом, неправильно говорить, например, «с переменными сре́дами» («с переменными окружениями»), а правильно — «с переменными среды́» («с переменными окружения»).
ПримечанияПравить
- Environment Variables (Windows). msdn.microsoft.com. Дата обращения: 29 июня 2018. Архивировано 29 июня 2018 года.
Бывает так, что написанный Вами BAT-файл работает на одном компьютере, но не работает на другом. Ошибка часто заключается в том, что были использованы прямые пути к файлам. Например батник для копирования всех текстовых файлов находящихся в папке windows на диске C
Такой батник будет работать на любом компьютере, только если операционная система установлена на диск С, если ОС расположена на другом диске D,F,K,J и т.д., необходимо использовать переменную %WINDIR%
Такой батник будет работать на любом компьютере – без разницы на какой диск установлена ОС
Переменные среды — текстовые переменные операционной системы, хранящие данные о ряде настроек системы. Используются переменные среды при копировании, перемещении, переименовании, удалении, создании файлов и папок других действий в командной строке.
Список переменных среды ОС Windows Вы можете посмотреть введя в командной строке: set и нажав клавишу Enter Также можно вывести список переменных в текстовый файл с помощью батника
set > docent.txt
Bat-файл с таким кодом создаст текстовый файл docent.txt(здесь и далее имена подставляйте свои)и выведет список переменных среды ОС Windows в этот текстовый документ в том-же месте где и располагается запущенный батник.
Список переменных сред
%APPDATA% используемое по умолчанию размещение данных приложений
%CD% путь к текущей папке
%CMDCMDLINE% строка команд, с помощью которой был запущен данный экземпляр Cmd.exe
%CMDEXTVERSION% номер версии текущих расширений обработчика команд
%COMPUTERNAME% имя компьютера
%COMSPEC% путь к исполняемой командной оболочке
%DATE% текущие данные, использует тот же формат, что и команда date /t
%ERRORLEVEL% код ошибки последней использовавшейся команды
%HOMEDRIVE% имя диска локальной рабочей станции
%HOMEPATH% полный путь к основному каталогу пользователя
%LOGONSEVER% имя контроллера домена, который проверял подлинность текущей сессии
%NUMBER_OF_PROCESSORS% количество процессоров, установленных на компьютере
%OS% имя операционной системы
%PATHEXT% список расширений файлов
%PROCESSOR_ARCHITECTURE% архитектура процессора. Значения: x86, IA64
%PROCESSOR_IDENTFIER% описание процессора
%PROCESSOR_LEVEL% номер модели процессора, установленного на компьютере
%PROCESSOR_REVISION% номер модификации процессора
%ProgramFiles% путь к Program Files
%PROMPT% параметры командной строки для текущего интерпретатора
%RANDOM% произвольное десятичное число от 0 до 32767
%SYSTEMDRIVE% имя диска, содержащего корневой каталог
%SYSTEMROOT% размещение системного каталога Windows
%TIME% текущее время
%WINDIR% размещение каталога операционной системы
Например если Вы захотите узнать текущее время %TIME% и просто напишите %TIME% в CMD – то получите ошибку: “Синтаксическая ошибка в имени файла, имени папки или метке тома”
Батником вывести информацию в txt можно так
Использование переменной при удалении файлов и папок с помощью Bat файла
Удаление папки Docent которая находится на диске С в WINDOWS
RD С:\WINDOWS\Docent /S/Q
То-же самое, но удаляем папку с помощью переменной %WINDIR%
RD %WINDIR%\Docent /S/Q
Использование переменной при перемещении файлов
Перемещение текстового файла docent.txt из папки WINDOWS на диске С в папку Program Files которая тоже на диске С
MOVE “C:\WINDOWS\docent.txt” “C:\Program Files”
То-же самое, но перемещаем с помощью переменных %WINDIR% и %ProgramFiles%
Следующий комментиробанный 653805.bat скрипт может помочь.
@ECHO OFF
SETLOCAL EnableExtensions DisableDelayedExpansion
:: вычислить максимальную длину
set "_varLenMax=2"
for /F "tokens=1 delims==" %%G in ('set %~1 ^|findstr /V "^_"') do ( set "_varName=%%G" call :strlen _varLen _varName rem отладочный вывод call echo %%_varLen%% %%_varName%% call :compareLen
)
set "_separator= "
for /L %%G in (1,1,%_varLenMax%) do call set "_separator= %%_separator%%"
:: (optional) header (Факультативный) заголовок
set "_varName=Name%_separator%"
call echo %%_varName:~0,%_varLenMax%%% Value
:: (optional) header separator (Факультативный) разделитель заголовки
set "_varName=----%_separator%"
call echo %%_varName:~0,%_varLenMax%%% -----
for /F "tokens=1,* delims==" %%G in ('set %~1 ^|findstr /V "^_"') do ( set "_varName=%%G%_separator%" call echo %%_varName:~0,%_varLenMax%%% %%H
)
ENDLOCAL
goto :eof
:: похвала: jeb, http://stackoverflow.com/a/5841587/3439404
:strlen <resultVar> <stringVar>
( setlocal EnableDelayedExpansion set "s=!%~2!#" set "len=0" for %%P in (4096 2048 1024 512 256 128 64 32 16 8 4 2 1) do ( if "!s:~%%P,1!" NEQ "" ( set /a "len+=%%P" set "s=!s:~%%P!" ) )
)
( endlocal set "%~1=%len%" exit /b
)
:compareLen
if %_varLen% GTR %_varLenMax% set /A "_varLenMax=_varLen"
goto :eofd:\bat> chcp 866
Active code page: 866
d:\bat> >D:\bat\SU_ru\file653805.txt D:\bat\SU_ru\653805.bat x
d:\bat> type D:\bat\SU_ru\file653805.txt
Name Value
---- -----
x32 C:\Windows\SysWOW64
xProgramFiles(x86) C:\Program Files (x86)
xrussian Александр
d:\bat> chcp 1251
Active code page: 1251
d:\bat> type D:\bat\SU_ru\file653805.txt
Name Value
---- -----
x32 C:\Windows\SysWOW64
xProgramFiles(x86) C:\Program Files (x86)
xrussian Ђ«ҐЄб ¤а
d:\bat> >D:\bat\SU_ru\file653805.txt D:\bat\SU_ru\653805.bat x
d:\bat> type D:\bat\SU_ru\file653805.txt
Name Value
---- -----
x32 C:\Windows\SysWOW64
xProgramFiles(x86) C:\Program Files (x86)
xrussian Александр
d:\bat> chcp 866
Active code page: 866
d:\bat> type D:\bat\SU_ru\file653805.txt
Name Value
---- -----
x32 C:\Windows\SysWOW64
xProgramFiles(x86) C:\Program Files (x86)
xrussian └ыхъёрэфЁ
d:\bat>



