Отсутствует спецификация файла после оператора перенаправления
PS C:\Windows\system32> overridden by the Group Policy applied to your system. Due to the override, your shell will retain
overridden : Имя "overridden" не распознано как имя командлета, функции, файла сценария или выполняемой программы. Проверьте правильность написания имени, а также наличие и правильность пути,
после чего повторите попытку.
строка: 1 знак: 1
+ overridden by the Group Policy applied to your system. Due to the ove .
+ ~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (overridden:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
PS C:\Windows\system32> its current effective execution policy of "AllSigned". Contact your Group Policy administrator for
its : Имя "its" не распознано как имя командлета, функции, файла сценария или выполняемой программы. Проверьте правильность написания имени, а также наличие и правильность пути, после чего по
вторите попытку.
строка: 1 знак: 1
+ its current effective execution policy of "AllSigned". Contact your G .
+ ~~~
+ CategoryInfo : ObjectNotFound: (its:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
PS C:\Windows\system32> more information. At line:1 char:20 + Set-ExecutionPolicy строка: 1 знак: 60
+ more information. At line:1 char:20 + Set-ExecutionPolicy + ~
Отсутствует спецификация файла после оператора перенаправления.
строка: 1 знак: 59
+ more information. At line:1 char:20 + Set-ExecutionPolicy + ~
Оператор "строка: 1 знак: 61
+ more information. At line:1 char:20 + Set-ExecutionPolicy + ~
Отсутствует спецификация файла после оператора перенаправления.
строка: 1 знак: 60
+ more information. At line:1 char:20 + Set-ExecutionPolicy + ~
Оператор "строка: 1 знак: 62
+ more information. At line:1 char:20 + Set-ExecutionPolicy + ~
Отсутствует спецификация файла после оператора перенаправления.
строка: 1 знак: 61
+ more information. At line:1 char:20 + Set-ExecutionPolicy + ~
Оператор "строка: 1 знак: 62
+ ..ore information. At line:1 char:20 + Set-ExecutionPolicy + ~
Оператор " + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : MissingFileSpecification
У меня есть группа каталогов со следующим шаблоном имени:
[случайная комбинация чисел и / или знаков и / или символов (включая пробел)] + [одиночный пробел] + [(] + [число] + [)].
Например. asdf%k123 test1 (12345) foo(123)??bar (456) 324(asd)! (456) random()123 (456)
Как мне извлечь только число в скобках с помощью команд bash (без '()')? Имейте в виду, что число в скобках может встречаться в случайной части имени, но мне нужно только включить в конце. В любом случае каждое имя будет заканчиваться на [пробел] [(] [число] [)].
Учитывая имя asdf%k123 test1 (12345) (в соответствии с вашим примером), ваш ожидаемый результат 12345 ? . и, допустим, у вас есть foo(123)??bar(456)789 quux (54321) , ваш ожидаемый результат 54321 ? Я предлагаю вам отредактировать свой вопрос, чтобы предоставить несколько примеров названий источников и ожидаемый результат для каждого из них.
Спасибо за предложение, я был немного двусмысленным. И да, мне нужен только номер в последней паре ().
Получите номер
Вы можете получить последний номер с помощью sed :
Скрипт sed написан так:
- начало s означает, что выполняется подстановка, которая использует следующий синтаксис s/pattern/replacement/
- символ / определяет разделитель для подстановки, вы можете использовать любой символ, но / - очень распространенный
- .*(\(2*\))$ - это шаблон (я вернусь к нему позже)
- \1 - это замена, в этом случае она заменяет первую строку, захваченную шаблоном, которая является числом (см. Ниже)
Ключевой элемент - это узор. В этом случае .*(\(1*\))$ можно разделить на:
- .* , который соответствует любому символу любое количество раз
- ( , который соответствует открывающей скобке
- \(9*\) , который захватывает любую строку, состоящую из цифр, также известную как число
- ) , который соответствует закрывающей скобке
- $ , который соответствует концу строки
В шаблоне захвата, то есть (\(8*\) , следует отметить, что \( и \) являются разделителями для захвата, и их не следует путать с ( и ) которые являются обычными скобками.
TL; DR: этот шаблон говорит: «Я хочу записать число, заключенное в круглые скобки, непосредственно перед концом строки». А сценарий sed говорит: «Я хочу печатать только то число, которое было захвачено».
Пример 2. Отправка всех успешных данных потока в файл
В этом примере все успешные потоковые данные отправляются в файл с именем script.log .
Операторы перенаправления PowerShell
Ниже приведены операторы перенаправления PowerShell, где n представляет номер потока. Если поток не указан, по умолчанию используется поток Success ( 1 ).
Подробное описание
Для перенаправления выходных данных можно использовать следующие методы:
Out-File Используйте командлет, который отправляет выходные данные команды в текстовый файл. Как правило, командлет используется Out-File , когда необходимо использовать параметры, такие как Encoding , Force Width , или NoClobber .
Tee-Object Используйте командлет, который отправляет выходные данные команды в текстовый файл и отправляет его в конвейер.
Используйте операторы перенаправления PowerShell. Использование оператора перенаправления с целевым объектом файла функционально эквивалентно конвейеру Out-File без дополнительных параметров.
Дополнительные сведения о потоках см. в разделе about_Output_Streams.
Оператор CAST [ ]
Преобразует или ограничивает объекты указанным типом. Если не удается преобразовать объекты, PowerShell выдает ошибку.
Приведение также можно выполнить, если переменная назначена с помощью нотации приведения.
Операторы Split и Join
-split Операторы and -join делят и объединяют подстроки. -split Оператор разделяет строку на подстроки. -join Оператор объединяет несколько строк в одну строку.
Дополнительные сведения см. в разделе about_Split и about_Join.
Операторы работы с типами
Дополнительные сведения см. в разделе about_Type_Operators.
Оператор доступа к членам .
Обращается к свойствам и методам объекта. Имя члена может быть выражением.
Запуск PowerShell 3,0 при использовании оператора для объекта коллекции списков, не имеющего члена, PowerShell автоматически перечисляет элементы в этой коллекции и использует оператор для каждого из них. Дополнительные сведения см. в разделе about_Member-Access_Enumeration.
Оператор индекса [ ]
Выбирает объекты из индексированных коллекций, таких как массивы и хэш-таблицы. Индексы массива отсчитываются от нуля, поэтому первый объект индексируется как [0] . Для получения последних значений можно также использовать отрицательные индексы. Хэш-таблицы индексируются по значению ключа.
При наличии списка индексов Оператор Index возвращает список элементов, соответствующих этим индексам.
Если объект не является индексированной коллекцией, использование оператора index для доступа к первому элементу возвращает сам объект. Индексные значения за пределами первого элемента возвращают $null значение.
Конвейерный оператор |
Отправляет ("pipe") выходные данные команды, предшествующей ей, с помощью команды, следующей за ней. Если выходные данные содержат более одного объекта ("Коллекция"), оператор конвейера посылает объекты по одному за раз.
Арифметические операторы
Используйте арифметические операторы ( + , - , / * ,, % ) для вычисления значений в команде или выражении. С помощью этих операторов можно добавлять, вычитать, умножать или делить значения, а также вычислять остаток (остаток от деления) операции деления.
Битовые операторы ( -band , -bor , -bxor , -bnot -shl ,, -shr ) управляют битовыми шаблонами в значениях.
Дополнительные сведения см. в разделе about_Arithmetic_Operators.
Статический оператор члена ::
Оператор Ternary ? :Оператор ternary можно использовать в качестве замены if-else инструкции в простых условных случаях.
Дополнительные сведения см. в разделе about_If.
Пример 1. ошибки перенаправления и выходные данные в файл
Этот пример выполняется dir на одном элементе, который будет выполнен, и один из которых будет иметь ошибку.
Он использует 2>&1 для перенаправления потока ошибок в поток успешного выполнения и > отправки результирующего потока успешного выполнения в файл с именем. dir.log
Список каталогов
Вы можете анализировать каталоги с помощью find . Если вам нужны только подпапки первого уровня:
find /path/to/dir -mindepth 1 -maxdepth 1 -type d
Параметры -mindepth 1 -maxdepth 1 гарантируют, что вы получите только дочерние элементы с глубиной 1, в то время как параметр -type d перечисляет только каталоги (не файлы, не символические ссылки и т. Д.).
Вы можете получить больше информации, заменив -maxdepth 1 числом по вашему выбору, или просто опустите эту опцию, чтобы получить все подпапки рекурсивно.
Поскольку кажется, что в ваших каталогах есть всевозможные специальные символы, я бы также предложил получить их с помощью опции -print0 , которая разделяет результат нулевым символом \0 вместо новой строки.
Оператор "точка с точкой" .
Выполняет скрипт в текущей области, чтобы все функции, псевдонимы и переменные, создаваемые сценарием, добавлялись в текущую область, переопределяя существующие. Параметры, объявленные сценарием, становятся переменными. Параметры, для которых не было указано значение, становятся переменными без значения. Однако автоматическая переменная $args сохраняется.
За оператором «точка» следует пробел. Используйте пробел, чтобы отличить точку от символа точки ( . ), который представляет текущий каталог.
В следующем примере сценарий Sample.ps1 в текущем каталоге выполняется в текущей области.
Перенаправление версий на уровне приложения
Существует несколько различных методов изменения поведения привязки для приложения с помощью файла конфигурации приложения: можно вручную изменить файл, можно полагаться на автоматическое перенаправление привязкиили указать поведение привязки, обходя политику издателя.
Перенаправление версий с помощью политики издателя
Поставщики сборок могут направлять приложения в более новую версию сборки, включая файл политики издателя с новой сборкой. Файл политики издателя, который находится в глобальном кэше сборок, содержит параметры перенаправления сборок.
Если для сборки существует файл политики издателя, среда выполнения проверяет этот файл после проверки файла конфигурации приложения и манифеста сборки. Поставщики должны использовать файлы политики издателя только в том случае, если новая сборка имеет обратную совместимость с перенаправляемой сборкой.
Вы можете обойти политику издателя для своего приложения, задав параметры в файле конфигурации приложения, как описано в разделе Обход политики издателя.
Format, оператор -f
Форматирует строки с помощью метода Format строковых объектов. Введите строку формата слева от оператора и объекты, которые должны быть отформатированы с правой стороны оператора.
Если необходимо, чтобы фигурные скобки ( <> ) в форматируемой строке были заключены в квадратные скобки, их можно поэкранировать.
Дополнительные сведения см. в разделе метод String. Format и составное форматирование.
Примечания
Операторы перенаправления, которые не добавляют данные ( > и n> ) перезаписывают текущее содержимое указанного файла без предупреждения.
Однако если файл доступен только для чтения, является скрытым или системным файлом, перенаправление завершается ошибкой. Операторы добавления перенаправления ( >> и n>> ) не записывают в файл, доступный только для чтения, но добавляют содержимое в системный или скрытый файл.
Для принудительного перенаправления содержимого в скрытый или системный файл только для чтения используйте Out-File командлет со своим Force параметром.
При записи в файлы операторы перенаправления используют UTF8NoBOM кодировку. Если файл имеет другую кодировку, выходные данные могут быть неправильно отформатированы. Для записи в файлы с другой кодировкой используйте Out-File командлет с его Encoding параметром.
Оператор Range ..
Представляет последовательные целые числа в массиве целых чисел с учетом верхней и нижней границ.
Можно также создавать диапазоны в обратных последовательностях.
Начиная с PowerShell 6 оператор Range работает с символами , а также с целыми числами.
Чтобы создать диапазон символов, заключите эти символы в кавычки.
Оператор присваивания, объединяющий значения NULL ??=
Оператор ??= присваивания, объединяющего значение null, присваивает значение правого операнда левому операнду только в том случае, если левый операнд принимает значение null. Оператор ??= не вычисляет правый операнд, если значение левого операнда отлично от NULL.
В следующем примере правый операнд не вычисляется.
Использовать автоматическое перенаправление привязок
если перенаправления привязок вручную добавляются в исходный файл app.config, во время компиляции Visual Studio пытается объединить сборки на основе добавленных перенаправлений привязки. Например, предположим, что вы вставили следующее перенаправление привязки для сборки:
Если другой проект в вашем приложении ссылается на версию 1.0.0.0 той же сборки, автоматическое перенаправление привязки добавляет в выходной файл app.config следующую запись, чтобы приложение было унифицировано с версией 2.0.0.0 этой сборки:
Условные операторы ?. null и ?[]
Этот компонент был перемещен из экспериментального в основной в PowerShell 7,1.
Условный оператор NULL применяет к операнду доступ к ?. элементу,, или к ?[] нему, только если этот операнд принимает значение, отличное от NULL; в противном случае возвращается значение null.
Так как в PowerShell символ ? может быть частью имени переменной, для использования этих операторов требуется формальное указание имени переменной. Поэтому имена переменных необходимо заключать в фигурные скобки <> , например $ , в том числе если имена содержат символ ? : $ .
В следующем примере возвращается значение пропнаме .
Следующий пример вернет значение null, не пытаясь получить доступ к имени члена пропнаме.
Аналогичным образом будет возвращено значение элемента.
Если операнд имеет значение null, доступ к элементу отсутствует, и возвращается значение null.
Так как в PowerShell символ ? может быть частью имени переменной, для использования этих операторов требуется формальное указание имени переменной. Поэтому имена переменных необходимо заключать в фигурные скобки <> , например $ , в том числе если имена содержат символ ? : $ .
Синтаксис $> имени переменной не должен путать с $() оператором части выражения. Дополнительные сведения см. в разделе Имя переменной в about_Variables.
Пример 5. Отключение всех данных Write-Host и информационных потоков
В этом примере подавляются все данные потока информации. Дополнительные сведения о командлетах информационного потока см. в статье Write-Host и Write-Information .
Операторы присваивания
Операторы присваивания ( = , += /= -= *= . %= ) используются для назначения, изменения или добавления значений переменным. Арифметические операторы можно объединять с оператором присваивания, чтобы присвоить результат арифметической операции переменной.
Дополнительные сведения см. в разделе about_Assignment_Operators.
Оператор объединения со значением NULL ??
Оператор объединения со значением NULL ?? возвращает значение левого операнда, если оно не равно NULL. В противном случае он вычисляет правый операнд и возвращает результат. Оператор ?? не вычисляет правый операнд, если значение левого операнда отлично от NULL.
В следующем примере правый операнд не вычисляется.
Специальные операторы
Специальные операторы имеют особые варианты использования, которые не помещаются в любую другую группу операторов. Например, Специальные операторы позволяют выполнять команды, изменять тип данных значения или извлекать элементы из массива.
Пример 4. перенаправление всех потоков в файл
Этот пример отправляет все выходные данные из скрипта, вызываемого script.ps1 в файл с именем script.log
Синтаксис литерала хэш-таблицы @<>
Как и часть выражения массива, этот синтаксис используется для объявления хэш-таблицы. Дополнительные сведения см. в разделе about_Hash_Tables.
Решение
В целом это выглядело бы так:
Если вы хотите отфильтровать каталоги, которые не соответствуют вашему шаблону, вы можете изменить sed, чтобы использовать параметр -n , а затем печатать с помощью команды p :
Не имея большого опыта работы с PowerShell, я все время получаю ошибки при попытке запустить это. «Отсутствует тело оператора в цикле do» и «Отсутствует спецификация файла после оператора перенаправления». Возможно какая-то глупая ошибка с моей стороны, хотя: /
Объясняется, как перенаправлять выходные данные из PowerShell в текстовые файлы.
Обход политики издателя
При необходимости вы можете переопределить политику издателя в файле конфигурации приложения. Например, новые версии сборок, которые объявлены как поддерживающие обратную совместимость, могут все-таки нарушать работу приложения. Если вы хотите обойти политику издателя, добавьте в элемент >>
Обходите политику издателя, чтобы сохранить работоспособность приложения для пользователей, но обязательно сообщите о проблеме поставщику сборки. Если сборка имеет файл политики издателя, поставщик должен убедиться, что сборка имеет обратную совместимость и клиенты могут использовать новую версию в максимальной степени.
Запятая, оператор ,
Как бинарный оператор, запятая создает массив или добавляет к создаваемому массиву. В режиме выражения в качестве унарного оператора запятая создает массив только с одним элементом. Поместите запятую перед элементом.
Поскольку Write-Object предполагает аргумент, выражение должно быть заключено в круглые скобки.
Оператор группирования ( )
Как и в других языках, (. ) служит для переопределения приоритета операторов в выражениях. Например: (1 + 2) / 3
Однако в PowerShell существуют дополнительные поведения.
(. ) позволяет разрешить выходные данные команды участвовать в выражении. Пример:
При использовании в качестве первого сегмента конвейера, заключение команды или выражения в круглые скобки неизменно приводит к перечислению результата выражения. Если скобки заключают команду в оболочку, она выполняется до завершения со всеми данными, собранными в памяти до отправки результатов через конвейер.
Унарные операторы
Используйте унарные ++ операторы и -- для увеличения или уменьшения значений и - для отрицания. Например, чтобы увеличить переменную $a с 9 на 10 , введите $a++ .
Дополнительные сведения см. в разделе about_Arithmetic_Operators.
Ограничить привязки сборок определенной версией
Перенаправление версий на уровне компьютера
Указание привязки сборки в файлах конфигурации
Следующий пример кода демонстрирует различные сценарии перенаправления привязки. В примере указывается перенаправление для диапазона версий myAssembly и одно перенаправление привязки для mySecondAssembly . В примере также указывается, что файл политики издателя не будет переопределять перенаправления привязок для myThirdAssembly .
Для привязки сборки необходимо указать строку "urn: schemas-microsoft-com: ASM. v1" с атрибутом xmlns в теге assemblyBinding .
Оператор Background &
Запускает конвейер перед в фоновом режиме в задании PowerShell. этот оператор действует аналогично оператору UNIX элемента управления амперсанд ( & ), который выполняет команду до ее асинхронного выполнения в качестве задания.
Этот оператор функционально эквивалентен Start-Job . По умолчанию оператор Background запускает задания в текущем рабочем каталоге вызывающего объекта, который запустил параллельные задачи. В следующем примере демонстрируется базовое использование оператора фонового задания.
Эта команда функционально эквивалентна следующему использованию Start-Job :
Как Start-Job и в & случае, оператор Background возвращает Job объект. Этот объект можно использовать с Receive-Job и Remove-Job , точно так же, как если бы вы использовали Start-Job для запуска задания.
& фоновый оператор также является признаком конца оператора, точно так же, как оператор UNIX элемента управления амперсанд ( & ). Это позволяет вызывать дополнительные команды после & фонового оператора. В следующем примере демонстрируется вызов дополнительных команд после & оператора Background.
Это эквивалентно следующему сценарию:
Если требуется выполнить несколько команд, каждая из которых находится в собственном фоновом процессе, но все они находятся на одной строке, просто поместите & их между и после каждой команды.
Дополнительные сведения о заданиях PowerShell см. в разделе about_Jobs.
Операторы сравнения
Используйте операторы сравнения ( -eq , -ne , -gt -lt -le . -ge ) для сравнения значений и условий теста. Например, можно сравнить два строковых значения, чтобы определить, равны ли они.
Операторы сравнения также включают операторы, которые находят или заменяют закономерности в тексте. Операторы ( -match , -notmatch , -replace ) используют регулярные выражения, а ( -like , -notlike ) используют подстановочные знаки * .
Операторы сравнения вложений определяют, отображается ли тестовое значение в наборе ссылок ( -in , -contains -notin ,, -notcontains ).
Операторы сравнения типов ( -is , -isnot ) определяют, относится ли объект к данному типу.
Дополнительные сведения см. в разделе about_Comparison_Operators.
Оператор Call &
Выполняет команду, сценарий или блок скрипта. Оператор Call, также известный как «оператор вызова», позволяет выполнять команды, которые хранятся в переменных и представляются строками или блоками сценариев. Оператор Call выполняется в дочерней области. Дополнительные сведения об областях см. в разделе about_Scopes.
В этом примере команда сохраняется в строке и выполняется с помощью оператора Call.
Оператор Call не выполняет синтаксический анализ строк. Это означает, что нельзя использовать параметры команды в строке при использовании оператора Call.
Командлет Invoke-Expression может выполнять код, который вызывает ошибки синтаксического анализа при использовании оператора Call.
Оператор Call можно использовать для выполнения скриптов, использующих их имена файлов. В следующем примере показано имя файла скрипта, содержащего пробелы. При попытке выполнить скрипт PowerShell вместо этого отображает содержимое строки в кавычках, содержащей имя файла. Оператор Call позволяет выполнить содержимое строки, содержащей имя файла.
Дополнительные сведения о блоках скриптов см. в разделе about_Script_Blocks.
Операторы перенаправления
Используйте операторы перенаправления ( > , >> 2> ,, 2>> и 2>&1 ) для отправки выходных данных команды или выражения в текстовый файл. Операторы перенаправления работают как командлет (без параметров), Out-File но они также позволяют перенаправлять вывод ошибок в указанные файлы. Можно также использовать Tee-Object командлет для перенаправления выходных данных.
Дополнительные сведения см. в разделе about_Redirection
Ширина выходных данных при записи в файл
При записи в файл с помощью Out-File или операторов перенаправления PowerShell преобразует выходные данные таблицы в файл на основе ширины консоли, в которой она выполняется. Например, при записи выходных данных таблицы в файл с помощью команды, например Get-ChildItem Env:\Path > path.log в системе, в которой ширина консоли равна 80 столбцам, выходные данные в файле усекаются до 80 символов:
Учитывая, что ширина консоли может быть задана произвольным образом на системах, где выполняется сценарий, вы можете предпочесть, чтобы формат PowerShell был выводить файлы таблицы в соответствии с заданной заданной шириной.
Out-File Командлет предоставляет параметр Width , позволяющий задать ширину для вывода в таблицу. Вместо того, чтобы добавлять -Width 2000 все при вызове Out-File , можно использовать $PSDefaultParameterValues переменную, чтобы задать это значение для всех использований Out-File командлета в скрипте. А поскольку операторы перенаправления ( > и >> ) фактически являются псевдонимами для Out-File , установка Out-File:Width параметра для всего скрипта влияет также на ширину форматирования для операторов перенаправления. Добавьте следующую команду в начало скрипта, чтобы задать Out-File:Width для всего скрипта:
Увеличение ширины выходных данных приведет к увеличению потребления памяти при регистрации выходных данных в табличном формате. Если вы записываете в файл большой объем табличных данных и вы уверены, что можете сделать это с меньшей шириной, используйте меньшую ширину.
В некоторых случаях, например Get-Service в выходных данных, чтобы использовать дополнительную ширину, необходимо передать выходные данные Format-Table -AutoSize перед выводом в файл.
Дополнительные сведения о $PSDefaultParameterValues см. в разделе about_Preference_Variables.
2 ответа
Пример 6. Отображение влияния настроек действий
Переменные и параметры настройки действия могут изменять содержимое, записываемое в определенный поток. Скрипт в этом примере показывает, как значение $ErrorActionPreference влияет на то, что записывается в поток ошибок .
При выполнении этого скрипта выводится запрос, когда $ErrorActionPreference для Inquire параметра задано значение.
При изучении файла журнала мы увидим следующее:
Операторы && цепочки конвейеров и ||
Условно выполняет правый конвейер в зависимости от успешности конвейера левой части.
Дополнительные сведения см. в разделе About_Pipeline_Chain_Operators.
Унификация сборок и привязка по умолчанию
Пример 3. Передача в файл успешных, предупреждающих и ошибочных потоков
В этом примере показано, как можно комбинировать операторы перенаправления для достижения желаемого результата.
- 3>&1 перенаправляет поток предупреждений в поток успешного выполнения .
- 2>&1 перенаправляет поток ошибок в поток успешного выполнения (который также включает все данные потока предупреждений ).
- > перенаправляет поток успешного выполнения (который теперь содержит потоки предупреждений и ошибок ) в файл с именем C:\temp\redirection.log ).
Изменение файла конфигурации приложения вручную
Примеры
Оператор части выражения массива @( )
Возвращает результат одной или нескольких инструкций в виде массива. Результат всегда является массивом из 0 или более объектов.
Оператор части выражения $( )
Возвращает результат одной или нескольких инструкций. Для одного результата возвращает скалярное значение. Для нескольких результатов возвращает массив. Используйте этот параметр, если требуется использовать выражение в другом выражении. Например, чтобы внедрить результаты команды в строковое выражение.
Потенциальная путаница с операторами сравнения
> Оператор не следует путать с оператором сравнения " больше " (часто обозначается как > в других языках программирования).
В зависимости от сравниваемых объектов выходные данные > могут выглядеть правильными (поскольку 36 не превышает 42).
Однако проверка локальной файловой системы может видеть, что файл с именем 42 был записан с содержимым 36 .
Попытка использовать обратные сравнения < (меньше) приводит к системной ошибке:
Значение, -lt Если числовое сравнение является обязательной операцией и -gt должно использоваться. Дополнительные сведения см. в описании -gt оператора в about_Comparison_Operators.
Оператор — это элемент языка, который можно использовать в команде или выражении. PowerShell поддерживает несколько типов операторов, помогающих управлять значениями.
Перенаправляемые выходные потоки
PowerShell поддерживает перенаправление следующих выходных потоков.
В PowerShell также присутствует поток хода выполнения , но он не поддерживает перенаправление.
Потоки успехов и ошибок похожи на потоки stdout и stderr других оболочек. Однако stdin не подключен к конвейеру PowerShell для ввода данных.
Логические операторы
Используйте логические операторы ( -and , -or , -xor -not ,, ! ) для подключения условных операторов к одному сложному условию. Например, логический -and оператор можно использовать для создания фильтра объектов с двумя различными условиями.
Дополнительные сведения см. в разделе about_Logical_Operators.
Читайте также: