Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] В каких ОС по-умолчанию отключен режим расширенной обработки команд (http://forum.oszone.net/showthread.php?t=257131)

Dragokas 26-03-2013 03:08 2118627

В каких ОС по-умолчанию отключен режим расширенной обработки команд
 
Расскажите, пожалуйста:

1) В каких ОС по-умолчанию отключен режим
Код:

SetLocal EnableExtensions
2) В каких случаях, ОС, такой режим вообще не доступен/заблокирован?

Iska 26-03-2013 06:16 2118653

Лучше скажите, какова Ваша цель. Ибо найти нынче такие ОС в рабочем состоянии весьма проблематично.

Dragokas 28-03-2013 20:23 2120960

Например, пишу я код какому-нибудь новичку. Он говорит - не работает. Кто его знает почему.
Оказывается, у него система Win 7 x32, и по какой то причине этот режим отключен.

Преднамеренно или нет я не знаю. Вот и хочу узнать по каким еще признакам можно определить.

Нагуглил такой ключ для установки этого режима принудительно:
Цитата:

Полностью отключить или включить расширенную обработку на данном компьютере или для конкретного пользователя можно в реестре, в соответствующих нужному контексту разделах [HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Command Processor] и [HKEY_CURRENT_USER \ Software \ Microsoft \ Command Processor].

Параметр "EnableExtensions"=dword:00000001 в этих разделах включает расширения, а "EnableExtensions"=dword:00000000 — отключает, при этом параметры пользователя имеют приоритет над параметрами компьютера
Но полной уверенности нет, что это работает.

Теперь конечно взял за привычку, если даю код основанный на For с ключами ВСЕГДА пишу:
Код:

SetLocal EnableExtensions
чтобы не возникало лишних ненужных вопросов.

Iska 28-03-2013 21:29 2121015

Цитата:

Цитата Diskretor
Нагуглил такой ключ для установки этого режима принудительно: »

Второе — задание параметра в самом интерпретаторе команд:
читать дальше »
Цитата:

Цитата cmd.exe /?
/E:ON Разрешение расширений команд (см. ниже)
/E:OFF Запрет расширений команд (см. ниже)

/V:ON Разрешение отложенного расширения переменных среды с применением
символа '!' в качестве разделителя. Например, /V:ON разрешает
использовать !var! в качестве расширения переменной var во время
выполнения. Синтаксис var служит для расширения переменных
при вводе, что приводит к совсем другим результатам внутри
цикла FOR.
/V:OFF Запрет отложенного расширения переменных среды.


Цитата:

Цитата Diskretor
Но полной уверенности нет, что это работает. »

Это работает, будьте уверены. Приоритет у HKCU.

Цитата:

Цитата Diskretor
Теперь конечно взял за привычку, если даю код основанный на For с ключами ВСЕГДА пишу:
Код:

SetLocal EnableExtensions
чтобы не возникало лишних ненужных вопросов. »

Я по той же причине использую:
Код:

setlocal enableextensions enabledelayedexpansion
P.S. У меня сразу в Far Manager'е задан такой шаблон для пакетных файлов:
читать дальше »
Код:

@echo off
setlocal enableextensions enabledelayedexpansion

<курсор ввода>

endlocal
exit /b 0



Время: 08:54.

Время: 08:54.
© OSzone.net 2001-