Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Сценарии для Windows

Модерирует : KLASS, IFkO

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230

Открыть новую тему     Написать ответ в эту тему

KLASS



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Старые и смежные темы: по CMD и в Программах | по PowerShell | В помощь системному администратору | Прикладное программирование

PowerShell
Версии | Ассоциация и подпись сценариев
Сценарий для ассоциации файлов PowerShell и запуска неподписанных скриптов.
 
Прочее
Расширение возможностей
Функции
Write-Color
Output-DebugString
Провайдеры
Готовые скрипты
Полезные ссылки | Будет ли репозиторий PowerShell на ru-board?
Книги в PDF
Cheat Sheets
 

Cmd
Для перекодирования кириллицы 866<—>1251 пользуйтесь онлайн сервисом Перекодировщик кириллицы
 
Готовые решения и частые вопросы
 
Описания работы команд и символов участниками темы:
setlocal enabledelayedexpansion и переменные окружения
символы & и && в командной строке
Переменная %0
 
Полезные ссылки и утилиты

WSH (VBScript, JScript)
Программирование "удобняшек" на VBScript

Примечания:
• Большие куски кода заключайте в тэг [ more ]
• Чтобы не копировались концевые пробелы из форума, жмите на ссылку "Редактировать" в посте, и уже из редактора копируйте код без пробелов иначе сценарий может работать неправильно. Также для удаления концевых пробелов пользуйтесь скриптом от Nagual, или VBS-Скрипт-Модулем от ViSiToR.
• Сторонние консольные утилиты можно использовать только в виде готового решения и только в рамках сценариев. Никаких обсуждений и обучений работе с утилитами не предусмотрено и прямо запрещено правилами топика.
Шапка и около-темные вопросы |

Всего записей: 11448 | Зарегистр. 12-10-2001 | Отправлено: 13:40 17-02-2018 | Исправлено: YuS 2, 08:24 19-06-2021
Smitis



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
YuS_2

Цитата:
Это утверждение чем-то можно подкрепить?  

Я думаю, да.
В конвейере происходит неявная передача параметра, через анонимную переменную. Область действия этой переменной - глобальная. При вложенных "трубах" это потенциальный источник трудноопределимых ошибок. А если учесть переменные типа ValueFromPipelineByPropertyName, так это вообще то, что "там у них" называют "выстрелить себе в ногу".


----------
Разум когда-нибудь победит

Всего записей: 3452 | Зарегистр. 09-02-2003 | Отправлено: 00:49 17-11-2018 | Исправлено: Smitis, 00:52 17-11-2018
PhoenixUA



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Забыли еще про .foreach() метод.

Всего записей: 2184 | Зарегистр. 17-11-2005 | Отправлено: 01:16 17-11-2018
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Область действия этой переменной - глобальная. При вложенных "трубах" это потенциальный источник трудноопределимых ошибок.  

 
Не бывает вложенных труб
 
 
PhoenixUA

Цитата:
Забыли еще про .foreach() метод.

И свойство .Count, добавленное движком ко всем объектам (заведомо единичным)
Ради того, чтобы обращаться с ними так же как с массивами.

Всего записей: 17727 | Зарегистр. 14-10-2001 | Отправлено: 01:37 17-11-2018 | Исправлено: LevT, 01:45 17-11-2018
Smitis



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
LevT

Цитата:
Не бывает вложенных труб

Ok.
что-то | foreach { что-то | foreach { что-то }}
Это не "вложенная труба".
Это извраты терминологии.


----------
Разум когда-нибудь победит

Всего записей: 3452 | Зарегистр. 09-02-2003 | Отправлено: 02:05 17-11-2018
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Скриптблоки бывают вложенные, это да.
А трубы никогда.
 
 
Добавлено:
Труба всегда "течёт" от начала к концу
 
Первый командлет трубы - что-то вроде её конструктора (берёт скаляр, например [string]имя файла, выплёвывает объект, например инстанс [FileInfo] или сразу массив строк этого файла и т.д),
последний как правило Out-Default - даже если скриптописатель о том не ведает.  

Всего записей: 17727 | Зарегистр. 14-10-2001 | Отправлено: 02:11 17-11-2018 | Исправлено: LevT, 02:22 17-11-2018
YuS_2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Smitis  17-11-2018
 

Цитата:
В конвейере происходит неявная передача параметра, через анонимную переменную.

Нет, я не о том... вопрос в скорости обработки конвейеров, причем не отдельных командлетов именно, а самого конвейера...

Цитата:
Область действия этой переменной - глобальная.

Хмм, не думаю... глобальная, вряд ли.
 

Цитата:
При вложенных "трубах" это потенциальный источник трудноопределимых ошибок.

А это вопрос, скорее, синтаксиса, да и привычек тоже... ну и возможно, использование трапов, трукатчей и т.д.
Powershell ведь выводит ошибки и часто достаточно подробно. Хотя, с другой стороны, соломки везде подстелить, вряд ли, возможно... но то, что реализовано не хуже, чем в других аналогичных инструментах (а есть ли они такие же, с аналогичными возможностями? вот в чем вопрос ещё), несомненно. Естественно, речь не о привнесенных инструментах...
 

Цитата:
А если учесть переменные типа ValueFromPipelineByPropertyName, так это вообще то, что "там у них" называют "выстрелить себе в ногу".  

Почему?

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 08:04 17-11-2018
Smitis



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
YuS_2

Цитата:
Хмм, не думаю... глобальная, вряд ли.  

Переменная $_ существует везде, а вот значение может приобретать разное и неявно.
Поясню на примере. Берём функцию в обычном языке программирования. Имена параметров имеют локальную область видимости. Правильно выбрать имена параметров и дальше их имена ни с чем не пересекутся даже во вложенных функциях. В PS переменная $_ видна везде, но вот какое значение она имеет в данный конкретный момент, зависит от контекста.
С переменными ValueFromPipelineByPropertyName вообще забавная вещь получается.
Вот например Get-ChildItem | Remove-Item, что передаётся по конвейеру? Правильно, объект. От чего фанатики кипятком писают от восторга. А дальше? А дальше стараниями разработчиков концепция использования объектов в потоке отправляется в пешее эротическое путешествие так как Path и LiteralPath имеют тип string и принимают значения из объекта именно как ByPropertyName. Кроме того, попутно неявно присваиваются другие параметры, например Credential. И пользователь этот процесс никак не контролирует и даже скорее всего не знает. В данном примере всё хорошо. Свойства объекта согласованы с параметрами. Но вот в собственных функциях Вы ВНЕЗАПНО можете получить в параметры совсем не то, что ожидали. И это называют бест практик!
Если же отказаться от использования конвейер и того же foreach-object заменив его на оператор foreach, все параметры придётся передавать ЯВНО, зато код становиться читаемым, все передачи параметров прозрачны. И это называют плохой практикой!
Создаётся впечатления, что все эти "практики" малость не в себе и с головой плохо дружат.

Цитата:
Почему?

Резюмирую вышесказанное - неявная передача параметра это потенциальный источник ошибок так как пользователь не видит и не контролирует этот процесс. А неявная передача сразу нескольких параметров это ещё больший источник ошибок.
 
П.С.
Типичный пример - оператор with в js. Свойства объекта легко перекрывают внешние переменные и на эти грабли наступает столько народа, что все рекомендуют этот оператор вообще не использовать. В этом плане оператор with в vb (vba, vba) реализован чуть лучше.
 


----------
Разум когда-нибудь победит

Всего записей: 3452 | Зарегистр. 09-02-2003 | Отправлено: 13:25 17-11-2018 | Исправлено: Smitis, 13:25 17-11-2018
PhoenixUA



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
С переменной $_ сам один раз наступил на грабли:
использовал её в Foreach-Object, а внутри него был catch с этой же переменной
И, сюрприз, в catch переменной присваивается эксепшн...
 
Я очень удивлялся, когда в IIS создался виртуальный каталог с очень загадочным названием )))

Всего записей: 2184 | Зарегистр. 17-11-2005 | Отправлено: 15:27 17-11-2018
YuS_2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Smitis

Цитата:
Переменная $_ существует везде, а вот значение может приобретать разное и неявно.

Это утверждение также требует практического подкрепления...
Чем определяется глобальность переменной? Вот из этого надо исходить. Мы не можем её вызвать где захочется, только в определенном месте кода, и только в текущем значении, как только выходим из этого определенного места, переменная уничтожается, а это говорит, как раз о её локальной области действия.
"$_ - Same as $PSItem. Contains the current object in the pipeline object. You can use this variable in commands that perform an action on every object or on selected objects in a pipeline."
И это, действительно так. Проверяется легко, поэтому примеры приводить не вижу смысла.
 

Цитата:
В PS переменная $_ видна везде, но вот какое значение она имеет в данный конкретный момент, зависит от контекста.

Ну не так ведь... это автоматическая переменная, которая возникает и принимает значение только текущего объекта и только в текущем конвейере... далее она уничтожается... или требуется пример опровергающий это. До сих пор, лично мне, такого не попадалось.
Для проверки, можно выполнить:

Код:
get-variable -scope global


Цитата:
А дальше стараниями разработчиков концепция использования объектов в потоке отправляется в пешее эротическое путешествие так как Path и LiteralPath имеют тип string и принимают значения из объекта именно как ByPropertyName.

Просто рассуждения:
Так чем это чревато? Да, согласен, что при передаче по конвейеру изменение типов может приводить к всякого рода неожиданностям... но, может быть, это просто надо учитывать при составлении кода?
 

Цитата:
Но вот в собственных функциях Вы ВНЕЗАПНО можете получить в параметры совсем не то, что ожидали.

Пример?
Вообще, как и в любом языке, здесь, возможно, просто необходимо соблюдать синтаксис?  
Просто так, напрямую экстраполировать поведение переменных, конвейеров, функций и прочих конструкций из других языков на powershell, не совсем корректно... я бы даже сказал, в некоторых случаях, совсем некорректно.
 

Цитата:
неявная передача параметра это потенциальный источник ошибок так как пользователь не видит и не контролирует этот процесс.

Ну почему же? Пользователю, возможно и не требуется этот контроль... требуется, всего лишь, при необходимости, в любом месте конвейера получать требуемые свойства объекта или совершать над ним необходимые действия...
Гипотетически, любой код может быть источником потенциальных ошибок, а иначе, уже давно какой-нибудь язык признали бы идеальным и пользовались бы только им, а не плодили лишние сущности (бритвы на них нет соответствующей)
А вообще, надо нам всем при составлении кода не забывать перечитывать справку, чтобы исключать возможные ошибки...
Например, about_Scopes (это просто пример) - много познавательного и освежающего память, обнаруживаю каждый раз...

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 18:35 17-11-2018 | Исправлено: YuS_2, 08:04 18-11-2018
iNNOKENTIY21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как бы в powershell, получить direct link с sourceforge.net, яндекс.диск, кто нибудь подобное делал или встречал на просторах?

Всего записей: 3640 | Зарегистр. 16-08-2012 | Отправлено: 19:33 17-11-2018
PhoenixUA



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuS_2

Цитата:
Ну не так ведь... это автоматическая переменная, которая возникает и принимает значение только текущего объекта и только в текущем конвейере... далее она уничтожается... или требуется пример опровергающий это. До сих пор, лично мне, такого не попадалось.  

 
Я привёл пример выше.
 
Вот ещё цитата:

Цитата:
When an exception occurs you can look up the error in the $error collection, or while inside a catch block under the $_ variable.

https://blogs.msdn.microsoft.com/kebab/2013/06/09/an-introduction-to-error-handling-in-powershell/
 
Foreach-Object относится к конвейеру? Ну вот, если использовать catch внутри foreach, можно нарваться на неожиданные последствия )

Всего записей: 2184 | Зарегистр. 17-11-2005 | Отправлено: 21:01 17-11-2018
YuS_2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
PhoenixUA

Цитата:
Я привёл пример выше.

То был не пример, а намек на него.
Тем не менее:
Читаем спецификацию:

Цитата:
o    If the try block of S encloses the throw point and if S has one or more catch clauses, the catch clauses are examined in lexical order to locate a suitable handler for the exception. The first catch clause that specifies the exception type or a base type of the exception type is considered a match. A general catch clause is considered a match for any exception type. If a matching catch clause is located, the exception processing is completed by transferring control to the block of that catch clause. Within a matching catch clause, the variable $_ contains a description of the current exception.

и поэтому:

Цитата:
Foreach-Object относится к конвейеру? Ну вот, если использовать catch внутри foreach, можно нарваться на неожиданные последствия )

Используя try-catch внутри какой-либо локальной области действия $_, мы просто получаем ещё одну, дочернюю локальную область действия... Ведь, по сути, try-catch (а также trap), это не совсем обычный командлет или даже конвейер и для него существует спецификация работы, а это следует учитывать при составлении кода.
Какая тут может быть неожиданность, если есть описание принципа работы? Как-то так, сюрприза нет, на самом деле.

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 08:33 18-11-2018 | Исправлено: YuS_2, 08:45 18-11-2018
YuS_2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iNNOKENTIY21

Цитата:
Как бы в powershell, получить direct link с sourceforge.net, яндекс.диск, кто нибудь подобное делал или встречал на просторах?

Чуть выше вроде пытались подобное получить, но есть сомнения в успешности сего действия, особенно если итоговые ссылки формируются скриптами...
Как-то пытался что-то подобное сделать, но безуспешно...плюнул на это дело, получил прямые ссылки и их использую. В общем терпения и настойчивости не хватило, а готового решения не нашел... видимо, не совсем просто это сделать в powershell.

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 10:40 18-11-2018
Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Доброе время, YuS_2, iNNOKENTIY21
Подсказка - User-agent.
 
SourceForge отдает прямую для wget, curl
wget https://sourceforge.net/projects/mpcbe/files/MPC-BE/Release%20builds/1.5.2/MPC-BE.1.5.2.x86.7z/download --trust-server-names --user-agent=Wget
 
Yandex-Disk - для старых браузеров (IE 8, IE 9) выдает страницу с прямой ссылкой.

Код:
set "param= --user-agent "User-Agent: Mozilla/2.0 (compatible; MSIE 4.0; Windows NT 4.0)"  -e "https_proxy=localhost:9050"  --keep-session-cookies --save-cookies="yad.cookies"  --load-cookies="yad.cookies" "
wget %param% -p "https://yadi.sk/d/hlf1lfC8mKU58/!_last" -O "yad.tmp"
sed -n -r -e "s/.*href=\x22([^\x22]*hash[^\x22]*).*/https:\/\/yadi.sk\1/p" "yad.tmp"  | wget %param%  -i - --content-disposition -d -o log

В марте работало, сейчас выдает - "Сервер временно недоступен, попробуйте обновить страницу".
 
И для SourceForge были ftp-зеркала.
ftp://sourceforge.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge/m/mp/mpcbe/MPC-BE/Release%20builds/1.5.2/

Всего записей: 1906 | Зарегистр. 07-08-2002 | Отправлено: 11:33 18-11-2018
YuS_2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alex_Piggy

Цитата:
Подсказка - User-agent.

Действительно, работает:

Код:
[net.servicepointmanager]::securityprotocol = 'ssl3,tls,tls11,tls12'
$url = "https://sourceforge.net/projects/mpcbe/files/MPC-BE/Release%20builds/1.5.2/MPC-BE.1.5.2.x86.7z/download"
$ua = "Wget"
iwr $url -useragent $ua -out MPC-BE.1.5.2.x86.7z

Но, если я правильно понимаю, то вариант совсем не универсальный и годный только для этого сервера...
М-да уж, сайтостроители в своем репертуаре... кому захочу - отдам ссылку, а кому не очень, то и фигвам ... замечательный подход
 
Добавлено:
iNNOKENTIY21  17-11-2018

Цитата:
с sourceforge.net,

тогда, частично можно получить вот такой набор ссылок и скачать файлы:

Код:
[net.servicepointmanager]::securityprotocol = 'ssl3,tls,tls11,tls12'
$url = "https://sourceforge.net/projects/mpcbe/files/MPC-BE/Release%20builds/1.5.2/"
$ua = "Wget"
((iwr $url).links.href -match 'https?:.*download')|%{
    iwr $_ -useragent $ua -out ($_.split('/')[-2])
}

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 12:20 18-11-2018 | Исправлено: YuS_2, 12:29 18-11-2018
Smitis



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
YuS_2

Цитата:
Используя try-catch внутри какой-либо локальной области действия $_, мы просто получаем ещё одну, дочернюю локальную область действия...

Правильно. И автоматически созданная переменная для этой области перекроет такую же переменную во внешней области.

Цитата:
а это следует учитывать при составлении кода

Собственно, проблема, которую я озвучил - банальна и решается в рабочем порядке. Большинство решает её не задумываясь. А у некоторых сносит башню...
 
Добавлено:

Цитата:
Как бы в powershell, получить direct link с sourceforge.net, яндекс.диск, кто нибудь подобное делал или встречал на просторах?

Мне как-то понадобилось для яндекса, использовал сервис https://getfile.dokpub.com/yandex/


----------
Разум когда-нибудь победит

Всего записей: 3452 | Зарегистр. 09-02-2003 | Отправлено: 14:18 18-11-2018
YuS_2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Smitis

Цитата:
 автоматически созданная переменная для этой области перекроет такую же переменную во внешней области.

Хмм, не понял... перекроет в своей области, т.е. внутри try-catch-finally, наверное?  
А во внешней-то как она перекроет? Пример бы для осмысления, а то не доходит до меня о чем речь...

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 15:03 18-11-2018
Smitis



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
YuS_2
Даже не знаю, как лучше объяснить. Попробую на аналогии. Представите, у Вас в скрипте есть переменная $filename с именем нужного файла. Вы с ней прекрасно работаете, но ВНЕЗАПНО во вложенном блоке эта переменная приобретает другое значение, которое Вы её не присваивали. Вот Вы можете навскидку перечислить ВСЕ варианты, когда переменной $_ присваивается значение?


----------
Разум когда-нибудь победит

Всего записей: 3452 | Зарегистр. 09-02-2003 | Отправлено: 15:21 18-11-2018 | Исправлено: Smitis, 15:21 18-11-2018
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Smitis
 
В отличие от самоназванных переменных, $_ - это всегда переменная ближайшего скриптблока.
По определению.
 
Кто не согласен с этим определением - тот идёт использовать то, что ему больше по душе: cmd, bash… если угодно rexx, или что-нибудь ещё

Всего записей: 17727 | Зарегистр. 14-10-2001 | Отправлено: 16:52 18-11-2018 | Исправлено: LevT, 16:53 18-11-2018
YuS_2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Smitis

Цитата:
Вы с ней прекрасно работаете, но ВНЕЗАПНО во вложенном блоке эта переменная приобретает другое значение, которое Вы её не присваивали.

Внезапностей быть не должно, но для этого следует изучить механику работы автоматических переменных...
Но я понял, что я просто неточно прочитал это:

Цитата:
И автоматически созданная переменная для этой области перекроет такую же переменную во внешней области.

В случае с обычными переменными это надо понимать так:
В локальном контексте, одноименная переменная из родительской области, будет перекрыта присвоенным значением в локальной области. И это правильно.
В случае с автоматическими переменными логика работы отличается...
Вот пример:

Код:
filter test {
    write-host 1 - `[$_`] - текущее значение `$_
    try{
        dir $_ -ea 1
    } catch {
        $a = 3333
        write-host 2 - `[$_`] - текущее значение `$_ прерывающее исключение
        write-host `$a - `[$(gv -s 1 -n a -v)`] - значение переменной `$a из родительской области в локальном контексте -for red
        write-host `$a - `[$a`] - значение переменной `$a из локальной области -for cyan
        write-host `$_ - `[$(gv -s 1 -n _ -v)`] - попытка вывода `$_ из родительской области`, но переменная не существует
    } finally {
        write-host 3 - `[$_`] - текущее значение `$_ после выхода из catch
    }
    write-host 4 - `[$_`] - ещё раз текущее значение `$_ после выхода из catch
}
 
($a = "zzzzzz")|test

тут можно наглядно пронаблюдать логику работы.
 

Цитата:
Вот Вы можете навскидку перечислить ВСЕ варианты, когда переменной $_ присваивается значение?

Навскидку - вряд ли. Но в сомнительных случаях, открываю спецификацию и запускаю поиск...
И первый же найденный вариант дает такой результат:

Цитата:
Exception handling: Within a matching catch clause (§8.7) or trap statement (§8.8), this variable contains an error record (§3.12), which contains a description of the current exception.
Filter and process block of a function: Within a filter (§8.10.1, §8.10.6), this variable provides access to the current object being processed from the input collection coming from a pipeline. In a named-block scenario, it is accessible in both the process and end blocks.
Script: argument passed to a script, function, filter, or cmdlet for a parameter having the ValidateScript attribute (§12.3.16).
Binary -split operator: When the right operand of this operator (§7.8.4.5) designates a script block, inside that script block $_ represents each character in the input string(s), in lexical order, one character at a time.
Script block: Within a script block used as an argument to a cmdlet, this variable provides access to the current object being processed from the input collection coming from a pipeline.
Switch statement: Within a switch-clause statement-block (§8.6), this variable has the type and value of the switch-condition that caused control to go to that statement-block.

По-моему исчерпывающее описание. А если же потребуются подробности, то можем заглянуть в конкретные параграфы, указанные в тексте...

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 18:06 18-11-2018
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Сценарии для Windows


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru