Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Назначение: Windows PowerShell 2.0, Windows PowerShell 3.0
Вставьте сюда введение.
РАЗДЕЛ
about_Data_Sections
КРАТКОЕ ОПИСАНИЕ
Описание разделов Data, которые отделяют текстовые строки и другие данные только для чтения от логики сценария.
ПОДРОБНОЕ ОПИСАНИЕ
Сценарии, которые предназначены для Windows PowerShell®, могут иметь один или несколько разделов Data, содержащих только данные. В любой сценарий, функцию или дополнительную функцию можно включить один или несколько разделов Data. Содержимое раздела Data ограничивается указанным подмножеством языка сценариев Windows PowerShell.
Отделение данных от логики кода упрощает процесс выявления логики и данных и управление ими. Вы можете иметь отдельные файлы строковых ресурсов для текста, например сообщения об ошибках и строки справки. В результате отделения также изолируется логика кода, что упрощает выполнение проверочных тестов и тестов на безопасность.
В Windows PowerShell раздел Data используется для поддержки интернационализации сценариев. С помощью разделов Data можно упростить процедуры изоляции, поиска и обработки строк, которые будут преобразованы на многие языки пользовательского интерфейса.
Раздел Data является компонентом Windows PowerShell 2.0. Сценарии с разделами Data не будут выполняться в Windows PowerShell 1.0 без исправления.
СИНТАКСИС
Синтаксис раздела Data выглядит следующим образом.
DATA [-supportedCommand <cmdlet-name>] {
<Permitted content>
}
Ключевое слово Data является обязательным. Оно указывается без учета регистра.
Разрешенное содержимое ограничено следующими элементами:
- All Windows PowerShell operators, except -match
- If, Else, and ElseIf statements
- The following automatic variables: $PsCulture, $PsUICulture, $True,
$False, and $Null
- Comments
- Pipelines
- Statements separated by semicolons (;)
- Literals, such as the following:
a
1
1,2,3
"Windows PowerShell 2.0"
@( "red", "green", "blue" )
@{ a = 0x1; b = "great"; c ="script" }
[XML] @'
<p> Hello, World </p>
'@
- Cmdlets that are permitted in a Data section. By default, only the
ConvertFrom-StringData cmdlet is permitted.
- Cmdlets that you permit in a Data section by using the
SupportedCommand parameter.
При использовании командлета ConvertFrom-StringData в разделе Data можно поместить пары «ключ-значение» в строки, заключенные в одинарные или двойные кавычки, или в here-строки, заключенные в одинарные или двойные кавычки. Однако строки, содержащие переменные и подвыражения, должны быть заключены в строки в одинарных кавычках или в here-строки в одинарных кавычках, чтобы исключить расширение переменных и выполнение подвыражений.
SUPPORTEDCOMMAND
Параметр SupportedCommand позволяет указать, что командлет или функция выводят только данные. С его помощью пользователи могут включать командлеты и функции в раздел Data, который они написали или протестировали.
Значением параметра SupportedCommand является разделенный запятыми список из одного или нескольких имен командлетов или функций.
Например, следующий раздел Data содержит написанный пользователем командлет Format-XML, который форматирует данные в XML-файле:
DATA -supportedCommand Format-XML
{
Format-XML -strings string1, string2, string3
}
ИСПОЛЬЗОВАНИЕ РАЗДЕЛА DATA
Чтобы использовать содержимое раздела Data, присвойте его переменной и используйте нотацию переменной для доступа к содержимому.
Например, следующий раздел Data содержит команду ConvertFrom-StringData, которая преобразует here-строку в хэш-таблицу. Хэш-таблица назначается переменной $TextMsgs.
Переменная $TextMsgs не является частью раздела Data.
$TextMsgs = DATA {
ConvertFrom-StringData -stringdata @'
Text001 = Windows 7
Text002 = Windows Server 2008 R2
'@
}
Для доступа к ключам и значениям в хэш-таблице в $TextMsgs используйте следующие команды.
$TextMsgs.Text001
$TextMsgs.Text002
ПРИМЕРЫ
Простые строки данных.
DATA {
"Thank you for using my Windows PowerShell Organize.pst script."
"It is provided free of charge to the community."
"I appreciate your comments and feedback."
}
Строки, содержащие разрешенные переменные.
DATA {
if ($null) {
"To get help for this cmdlet, type get-help new-dictionary."
}
}
Заключенная в одинарные кавычки here-строка, которая использует командлет ConvertFrom-StringData:
DATA {
ConvertFrom-StringData -stringdata @'
Text001 = Windows 7
Text002 = Windows Server 2008 R2
'@
}
Заключенная в двойные кавычки here-строка, которая использует командлет ConvertFrom-StringData:
DATA {
ConvertFrom-StringData -stringdata @"
Msg1 = To start, press any key.
Msg2 = To exit, type "quit".
"@
}
Раздел Data, который содержит написанный пользователем командлет, создающий данные:
DATA -supportedCommand Format-XML {
Format-XML -strings string1, string2, string3
}
СМ. ТАКЖЕ
about_Automatic_Variables
about_Comparison_Operators
about_Hash_Tables
about_If
about_Operators
about_Quoting_Rules
about_Script_Internationalization
ConvertFrom-StringData
Import-LocalizedData