Как да използвате PowerShell за запис в текстов файл

3 юни 2021 г 102357 Изгледи

Тази S зона ви учи на различни начини да използвате PowerShell за запис във файл.





Ръководството започва с обсъждане на различни команди на PowerShell, използвани за запис на изход във файл. Разделът обхваща Извън файл , Add-Content и Set-Content Cmdlet с примери.



След това, във втория раздел, ще научите как да използвате различни PowerShell Методи за манипулиране на запис и актуализиране на текстов файл.

И накрая, последният раздел обхваща всички възможни примери за записване на изход в текстови файлове в PowerShell. Примерите варират от прост пример като презаписване на текстови файлове – до разширени примери като манипулиране на файлово кодиране.



Ако търсите конкретен пример, разгънете Преглед на публикациите по-долу и кликнете върху темата.



Ръководството има раздел с често задавани въпроси с кратки отговори на често задавани въпроси относно използването на PowerShell за запис на изход в текстов файл.

Разгледайте темите на публикациите

Командни команди на PowerShell, използвани за писане или актуализиране на текстови файлове

Команди на PowerShell за писане или актуализиране на текстови файлове

Този раздел представя четирите команди PowerShell, използвани за писане, актуализиране или замяна на текстови файлове. Във всеки подраздел в този раздел ще научите как да използвате Извън файл , Добавяне на съдържание , и Set-Content .



Как да напишете изход на PowerShell в текстов файл с Извън файл

Записването на изход в текстов файл е толкова просто, колкото прехвърлянето на изхода на първата команда Извън файл и посочете пътя към текстовия файл.



В първия си пример ще въведа текст в подканата на PowerShell, след това ще го направя Извън файл .

|_+_| Ако файлът не съществува, Out-File ще го създаде по пътя, посочен от Файлова пътека параметър.

Командата ще се изпълни и ще се върне към подканата на PowerShell.

Как да използвате Out-File в PowerShell за запис или добавяне към файл

Ето файла, създаден по указания път. Второто изображение е съдържанието на текстовия файл.

Как да използвате Out-File в PowerShell за запис или добавяне към файл

Можете да използвате този метод, за да запишете изхода на всяка команда на PowerShell в текстов файл.

В този втори пример ще запиша изхода на Get-Process в текстов файл. Ето командата:

|_+_|

Командата ще се изпълни и ще създаде файл process.txt. Резултатът е показан на второто изображение по-долу:

Как да добавите изход на PowerShell към съществуващ текстов файл с Извън файл

Друг начин да използвате PowerShell за запис във файл е да добавите (добавите повече съдържание) към съществуващ текстов файл с известно съдържание.

Следвайки първия пример, командата по-долу ще добави (добави) информацията преди конвейера (|) в долната част на файла, first-file.txt.

|_+_|

Файлът вече има втори ред с текст Това ще бъде добавен под първия ред. Вижте изображението по-долу.

Как да използвам Добавяне на съдържание В PowerShell за добавяне към текстов файл

Можете също да използвате PowerShell, за да пишете във файл, като добавите към съществуващ текстов файл с Добавяне на съдържание командлет.

За да добавите Това ще бъде добавено под втория ред към нашия съществуващ файл, first-file.txt, въведете тази команда и натиснете enter.

|_+_|

Файлът вече ще има трети ред с текст Това ще бъде добавено под втория ред. Вижте изображението по-долу:

В последния пример ще добавя (запиша) изхода на Вземи процес Команда за процеси.txt, създадена в Извън файл пример.

В този пример ще изпълня командите по-долу:

|_+_| |_+_|

Първата команда записва изхода на Вземи процес в процес променлива. Втората команда добавя изхода от променливата към файла processs.txt.

Можете да използвате един от методите, обхванати в тази S зона, за да пишете във файл (или да добавите към съществуващ файл) с PowerShell!

Как да използвам Set-Content В PowerShell За запис в текстов файл

Досега в този раздел ви показах как да използвате Извън файл за запис в текстов файл. Също така видяхте как да използвате същия Cmdlet за добавяне към текстов файл.

И накрая, в последния подраздел ви показах как да използвате Добавяне на съдържание за да добавите изход към текстов файл.

Този подраздел въвежда Set-Content . Една разлика между този Cmdlet и другите 2 вече обсъждани е, че while Извън файл и Добавяне на съдържание може да добавя съдържание към текстов файл, Set-Content презаписва съдържанието.

Така че командата по-долу презаписва съдържанието на файла с ново съдържание, посочено в Стойност параметър.

|_+_|

Ето и текстовия файл – цялото му предишно съдържание е заменено!

Текстов файл на PowerShell Методи Използва се за писане или актуализиране на текстови файлове

Как да пишете в текстов файл с текстови файлови методи на PowerShell

Първият раздел на това ръководство обхваща различни команди на PowerShell, използвани за записване на изходни данни в текстови файлове. В този раздел ще научите как да изпълнявате същите задачи с текстов файл PowerShell Методи .

Разделът започва, като ви учи как да намерите наличен текстов файл Методи . След това, в следващите подраздели, ще научите как да използвате тези PowerShell Методи за да напишете, актуализирате и презапишете текстовите файлове със съдържанието.

Ще използвам текстовия файл на екранната снимка по-долу, за да обясня как да намеря PowerShell Методи достъпно, когато изброите текстов файл с Get-Content Cmdlet. Освен това ще използвам този текстов файл за примерите във всички подраздели в този раздел.

Как да намерите текстови файлови методи на PowerShell

За да видите списък на всички Методи и Оператори наличен в текстов файл, изведете изхода на Get-Content команда към Вземете член .

Ето примерна команда....

|_+_|

Командата изброява куп PowerShell Методи . За целите на това ръководство обаче ме интересува следното Методи :

  • Вмъкване
  • Премахване
  • Сменете

Освен това ще използвам и Индекс на Метод в моите илюстрации. Подчертах тези Методи в резултат на последната команда...

В следващите подраздели ще научите как да използвате тези PowerShell Методи достъпно, когато изброите текстов файл с Get-Content командлет.

Как да използвате PowerShell Вмъкване Метод за добавяне на низове към съществуващ текстов файл

Общият синтаксис на PowerShell Вмъкване Методът е…

|_+_|

В начален индекс е първият знак от подниза, пред който искаме да вмъкнем текст. Освен това, на стойност на низа е текстът, който искате да вмъкнете.

Един лесен начин да определите startIndex е да се изчисли Индекс на стойност на низа, около който искате да вмъкнете текст.

Знам, че повечето от това, което казах, може да ви звучи като гръцко! Така че, нека обясня с пример в моя текстов файл.

Като начало искам да запиша пътя до моя файл в променлива. Това ще ми улесни да запазя актуализираното съдържание по-късно.

|_+_|

След това ще използвам Get-Content команда за изброяване на съдържанието на текстовия файл. След това запазете резултата в друга променлива...

|_+_|

Преди да продължа към следващата стъпка, нека върна синтаксиса на PowerShell Вмъкване метод…

|_+_|

Както намекнах по-рано, най-лесният начин да се определи startIndex – позицията в текстовия файл, в която искаме да вмъкнем текст – е да използваме Индекс на Метод .

В този пример искам да вмъкна думата не преди презаписване...

Как да използвате метода за вмъкване на PowerShell за добавяне на текст към съществуващ текстов файл

Първата стъпка е да се определи Индекс на стойност на презаписване. Командата по-долу върши работата...

|_+_|

Резултатът е 10.

Имайте предвид, че това Индекс на на 10 е точно в началото на първия знак на думата, презапис.

Имайки това предвид, ако искам да вмъкна низ (текст, цифри, знаци - каквото и да е), преди да презапиша, ще използвам 10 като startIndex .

Освен това, ако искам да вмъкна нещо в края на низа, презаписване, ще преброя броя на знаците от първия знак – в този случай o – до края на низа, презапис – това ще бъде 18

Имайте предвид, че интервалите също се отчитат като знаци.

Но за целите на този пример искам да вмъкна думата не преди презаписване...

Как да използвате метода за вмъкване на PowerShell за добавяне на текст към съществуващ текстов файл

Това е командата, която прави тази магия...

|_+_| Добавих интервал след не, за да създам интервал между not и overwrite.

в командата, 10 е startIndex , не е стойност на низа . Тази команда следва синтаксиса на метода за вмъкване по-долу...

|_+_|

А ето и резултата от последната команда в PowerShell. Резултатът включва думата, която вмъкнахме!

Но още не сме готови. Последната стъпка е да запишете тази стойност в същия текстов файл.

За да направим това, трябва да използваме Set-Content команда. Ако си спомняте, в последния раздел споменах, че за разлика от другите 2 команди, които обсъждах в този раздел, Set-Content презаписва съдържанието на текстов файл.

Така че, за да напишете изхода на последната команда PowerShell в същия текстов файл, изпълнете командата по-долу...

|_+_|

След като изпълня тази последна команда и отворя своя текстов файл, думата not вече е част от низовете в текстовия файл!

Как да използвате метода за вмъкване на PowerShell за добавяне на текст към съществуващ текстов файл

Как да използвате PowerShell Премахване Метод за изтриване на низове в съществуващ текстов файл

Когато представих този раздел, споменах, че ще дам примери с PowerShell Премахване Метод. В този подраздел ще научите как да използвате този PowerShell метод за изтриване на низове от текстов файл.

Нека започнем със синтаксиса на Премахване метод:

|_+_| |_+_|

В първия синтаксис просто указвате startIndex . Освен това във втория синтаксис трябва да посочите startIndex и на броя .

Както обясних в последния подраздел, можете да получите startIndex чрез изчисляване на Индекс на на синтаксиса, който искате да премахнете.

Освен това, за втория синтаксис, the броя е броят на знаците – от startIndex – искате да премахнете.

Така че, да речем, че искаме да премахнем низа, който не е добавен в нашия текстов файл в последния подраздел. Първата стъпка е да се определи Индекс на на първия символ на низа, не.

Продължавайки от примерите в последния подраздел, третата команда по-долу ще определи Индекс на стойност:

|_+_|

Резултатът е 10…

Как да използвате метода за премахване на PowerShell за изтриване на низове в съществуващ текстов файл

Продължавайки нататък, за да премахнем низа, не, ще използваме втория синтаксис на Премахване Метод.

|_+_|

В моя пример, startIndex е 10. По-рано обясних, че броя е броят на знаците – от startIndex – искате да премахнете.

Така че искаме да премахнем низа, а не – който е 3 знака от startIndex . Следователно, на броя е 3.

Въз основа на тази информация командата по-долу ще премахне низа, а не от нашия текстов файл.

|_+_|

Ето резултата…

Ако погледнете отблизо резултата, ще забележите, че има двойно разстояние между воля и презаписване. За да премахнете едно от интервалите, направете броя 4…

|_+_|

Сега пространството го няма!

Как да използвате метода за премахване на PowerShell за изтриване на низове в съществуващ текстов файл

И накрая, използвайте командата PowerShell по-долу, за да напишете актуализирания текст във файла...

|_+_|

След изпълнение на командата, файлът се актуализира без низа, а не. Вижте екранните снимки по-долу…

Как да използвате PowerShell Сменете Метод за замяна на низ в текстов файл

В последните 2 подраздела на този раздел ви научих как да използвате Вмъкване и Премахване PowerShell методи за запис в текстов файл.

В този последен подраздел ще научите как да замените низ с друг низ. Както обикновено, нека започнем със синтаксиса на Сменете метод:

|_+_|

За разлика от другите 2 метода, които изискват да определите начален индекс , или броя , на Сменете Методът не го прави. Всичко, което трябва да замените низ, е да посочите низа, който искате да замените, след което да посочите новия низ.

За да илюстрираме с пример, нека се върнем към нашия текстов файл. В този пример искам да заменя низа, да презаписвам с надпис...

Третата команда по-долу ще свърши работа. Въведох отново първите две команди, за да мога да получа актуализираната версия на текстовия файл в моите променливи.

Освен това, последната команда на PowerShell записва актуализирания изход в същия текстов файл...

|_+_|

След изпълнение на командите текстовият файл ще бъде актуализиран. Вижте екранната снимка по-долу…

Как да използвате оператори за пренасочване на PowerShell за добавяне към текстов файл

Windows PowerShell има набор от оператори за пренасочване . Можете да използвате два от тези оператори за пренасочване, за да пишете или актуализирате текстови файлове в PowerShell.

Знам, че операторите за пренасочване не се вписват в този раздел за писане в текстов файл с PowerShell Methods. Това обаче е единственият логичен раздел, в който мога да включа тази тема.

За да създадете нов текстов файл и да пишете в него, използвайте оператора за пренасочване. Ако използвате този оператор за запис на PowerShell поток в текстов файл, той презаписва съдържанието на текстовия файл.

Въпреки това, ако искате да актуализирате текстов файл, без да презаписвате съдържанието му, използвате >> оператора за пренасочване.

За да илюстрирате как работят тези оператори, изпълнете следните команди.

|_+_| |_+_|

Първата команда създава текстов файл, E: eportsRedirectExample.txt . След това записва пренасочване в текстовия файл.

Освен това, втората команда добавя ред за пренасочване 2 към същия текстов файл. Ето командите в PowerShell и екранна снимка на текстовия файл.

Как да използвате оператори за пренасочване на PowerShell за добавяне към текстов файл

Примери за запис на PowerShell в текстови файлове

Примери за запис на PowerShell в текстови файлове

В този последен раздел ще споделя няколко примера за запис в текстов файл в PowerShell. В примерите ще приложа уменията, обхванати в първите два раздела на това ръководство.

Как да напишете изход на PowerShell в текстов файл и да го презапишете

Има три начина да презапишете съдържанието на текстов файл. Първо, ако стартирате Извън файл команда без Добавяне параметър, той ще презапише съдържанието на текстовия файл.

Освен това можете да презапишете съдържанието на текстов файл с Set-Content команда. И накрая, можете да използвате > оператор за пренасочване за презаписване на съдържанието на текст.

За да дадем някои примери, командите по-долу ще презапишат съдържанието на текстовия файл, E: eportsoverwrite.txt :

|_+_|

Екранната снимка по-долу показва командите и крайното съдържание на текстовия файл.

Как да напишете изход на PowerShell в текстов файл и конзола

Ако искате да напишете изход на PowerShell в текстов файл и да покажете изхода и на конзолата, можете да използвате един от тези два командлета - Добавяне на съдържание или Set-Content .

Двете команди имат параметър, наречен PassThru . Ако използвате PassThru параметър, PowerShell записва изхода в указания път на текстов файл; след това го показва и на конзолата.

Въпреки това, Cmdlet, който използвате, зависи от това дали искате да добавите към текстовия файл или да презапишете съдържанието на текстовия файл. За да добавите към текстовия файл, използвайте Добавяне на съдържание .

Въпреки това, ако възнамерявате да презапишете съдържанието на текстовия файл, използвайте Set-Content . Ще илюстрирам с два примера.

За добавяне на изречението това се добавя от Добавяне на съдържание , към посочения текстов файл и покажете съобщението на конзолата, изпълнете командата по-долу:

|_+_|

Екранната снимка по-долу показва резултата от командата в PowerShell и изхода на текстовия файл.

Как да напишете изход на PowerShell в текстов файл и конзола

Напротив, за да презапишете съдържанието на текстовия файл и да запишете изхода в конзолата, използвайте командата по-долу...

|_+_|

И накрая, ето изходът на командата PowerShell, показана на конзолата и също записана в текстовия файл. Този път обаче той презаписа съдържанието на текстовия файл.

Как да напишете изход на PowerShell в текстов файл без нов ред

Ако изпълните тази команда PowerShell, вместо да записва изхода на същия ред в текстовия файл, той записва двата низа, Victor и Ashiedu на два реда...

|_+_|

Въпреки това, ако целта ви е да напишете и двата низа на един и същи ред, трябва да включите a Извън файл Извикан параметър на командлета Без нов ред .

|_+_|

Сега текстовият файл има и двата низа на един ред! Между двата низа обаче няма интервал - което в този случай е името и фамилията на човек.

Как да напишете изход на PowerShell в текстов файл без нов ред

За да включите интервал между двете имена, добавете интервал преди втория низ, Ashiedu. Командата по-долу е същата като предишната команда, с изключение на интервал преди втория низ.

|_+_|

Ето и текстовия файл сега...

Ако не искате да презапишете текстовия файл, включете Добавяне параметър в последната команда.

Как да напишете изход на PowerShell в текстов файл с UTF 8 кодиране

В Извън файл Cmdlet има параметър, наречен Кодиране . Когато пишете изход на PowerShell в текстов файл, можете да използвате този параметър, за да посочите кодирането на файла.

Освен това, ако искате да промените кодирането на съществуващ текстов файл, можете да преведете изхода на Get-Content команда към Извън файл .

В Кодиране параметър поддържа UTF8, ASCII, UTF32 и др. Можете да посочите всеки от типовете кодиране.

И така, тъй като този подраздел е за писане на изход на PowerShell в текстов файл с UTF8 кодиране, ето примери за команди, които могат да постигнат това...

|_+_| |_+_|

Първата команда записва изхода в текстов файл с UTF8 кодиране.

Освен това, втората команда импортира съдържанието на текстов файл в PowerShell с Get-Content . След това записва същото съдържание в друг текстов файл с UTF8 кодиране.

Как да коригирате грешката при отказ при запис на PowerShell при достъп до файл

Понякога, когато се опитате да напишете изход на PowerShell в текстов файл, може да получите съобщение за грешка за отказан достъп. Тази грешка може да бъде причинена от множество причини.

Една от причините да получите съобщение за грешка за отказан достъп е ако се опитате да пишете в отворен текстов файл. Освен това, ако се опитате да пишете в текстов файл, който се използва от друг процес на Windows, може да получите съобщение за грешка за отказан достъп.

Друга причина, поради която може да получите грешка за отказан достъп, е ако се опитате да създадете текстов файл с неподдържан символ. Например, ако се опитате да създадете текстов файл, който включва / в името си, може да получите съобщение за грешка за отказан достъп.

И накрая, ако текстов файл има атрибут само за четене, ще получите и съобщението за грешка за отказан достъп.

И така, решението за отстраняване на този проблем е да се идентифицира причината за съобщението за грешка. След това направете промени.

В следващия подраздел ще ви науча как да напишете изход на PowerShell в текстов файл, който има атрибут само за четене.

Как да използвате PowerShell за запис в текстов файл само за четене

Ако се опитате да напишете изход на PowerShell в текстов файл само за четене, ще получите съобщение за грешка за отказан достъп. За да тествам това, активирах атрибута само за четене за един от текстовите файлове, които създадохме по-рано.

Как да използвате PowerShell за запис в текстов файл само за четене

Сега, ако се опитам да пиша в текстовия файл с командата по-долу, ще получа съобщение за грешка за отказан достъп.

|_+_|

Добрата новина е, че всички команди на PowerShell, които могат да записват в текстов файл, имат параметър, наречен Сила . Ако включите тази команда в Извън файл , Set-Content , или Добавяне на съдържание , можете да пишете в текстов файл само за четене.

Например, ако модифицираме последната команда, както е показано по-долу, командата няма да върне никакво съобщение за грешка.

|_+_|

Този път командата е успешна и текстовият файл е актуализиран!

Как да използвате PowerShell за запис в текстов файл само за четене

Как да напишете изход на PowerShell в текстов файл и да създадете папка, ако тя не съществува

По подразбиране, ако стартирате Извън файл , Set-Content , или Добавяне на съдържание команди и посочете път към текстов файл, който не съществува, файлът ще бъде създаден.

Ако обаче посоченият път включва папка, която не съществува, ще получите съобщение за грешка. За да тествам това, ще изпълня командата по-долу, която включва папка, Без нов ред – тази папка не съществува в посочения път...

|_+_|

Командата връща съобщение за грешка.

За да отстраните този проблем, използвайте командата Test-Path, за да проверите дали пътят съществува. След това, ако не съществува, използвайте Нов продукт команда, за да го създадете, преди да стартирате Извън файл команда.

Ето актуализирания скрипт. Последният ред е най-новата команда в това ръководство...

|_+_| В Сила параметър е какви сили Нов продукт за да създадете всички папки, които не съществуват в пътя.

За да стартирате скрипта, копирайте го в нов PowerShell ISE документ и го стартирайте. Преди да стартирам скрипта, екранната снимка по-долу показва, че папката не съществува...

Как да напишете изход на PowerShell в текстов файл и да създадете папка, ако тя не съществува

След стартиране на скрипта папката вече съществува в пътя...

И накрая, ако отворите Без нов ред папка, ще намерите текста, nonewline.txt .

който е на моя wifi mac

Как да използвате PowerShell Concatenate за запис в текстов файл

Можете да използвате PowerShell, за да обедините съдържанието на два текстови файла в един текстов файл. Процесът на свързване на два текстови файла в един се нарича конкатенация.

За да дам пример, създадох два файла, Processfile1.txt и Processfile2.txt . След това използвам Get-Content за свързване на файловете.

Накрая представям резултата от Get-Content да се Set-Content и запишете обединените файлове в един файл. Ето командите…

|_+_|

Как да използвате PowerShell за записване на дата и час в текстов файл

Има толкова много случаи, в които може да се наложи да напишете дата и час в текстов файл. Един пример е, ако искате да генерирате регистър за грешки.

Например, ако използвате скрипт на PowerShell за изпълнение на задача на куп сървъри, добра идея е да създадете регистрационен файл със сървъри, с които скриптът не може да се свърже. След това тези регистрационни файлове могат да се използват за отстраняване на неизправности.

Освен това, когато създавате такива регистрационни файлове, също е добра идея да включите печат за дата и час. По този начин ще знаете кога скриптът се е опитал да се свърже със сървъра.

Стига приказки! Позволете ми да ви покажа как да записвате печати за дата и час в текстов файл с PowerShell. В този пример имам списък с несъществуващи компютри в текстов файл.

В скрипта по-долу използвам Тест-връзка команда за пинг на компютър. След това, ако компютърът отговори, моят скрипт ще се опита да изпълни някои задачи на отдалечения компютър.

Въпреки това, ако Тест-връзка командата не получава отговор от отдалечения компютър, скриптът генерира съобщение за грешка с текущата дата и час.

И накрая, скриптовете записват регистрационните файлове за грешки с печати за дата и час в текстов файл.

Ето сценария. Вижте по-долу за подробно обяснение на всеки ред...

|_+_|

За да стартирате скрипта, копирайте го в нов документ на PowerShell ISE, след което стартирайте скрипта. Когато стартирах скрипта, той създаде файл, наречен сряда 02.06.2021.txt - днешната дата.

Освен това той създаде записите в текстовия файл, сряда 02.06.2021.txt – вижте екранната снимка по-долу…

За да обясня скрипта, го копирах по-долу. Добавих и номера на редове, за да ги направя лесни за справка.

|_+_|

Ето разбивка на този привидно сложен скрипт на PowerShell:

  1. В ред 1 , използвах Get-Content команда за импортиране на моя списък със сървъри в PowerShell. Сървърите се записват в текстов файл – Get-Content E: eportsITGServers.txt. Накрая записах резултата от списъка със сървъри в променлива, наречена Сървъри .
  2. След това, в ред 2 Създадох името на текстовия файл, в който ще запазя съобщенията си за грешка. Използвах Получаване на дата команда за създаване на текстовия файл.

    В ред 10 ще напиша скрипта на PowerShell, който записва регистрационните файлове за грешки в текстовия файл – повече за това по-късно. И накрая, за да мога да използвам този файл по-късно в скрипта, го записах в променлива, наречена logfilename .
  3. Сценарият продължава в ред 3. В този ред представям За всеки Метод . Този метод ми позволява да повторя съдържанието на файла, запазен в Сървъри променлива.

    Има два важни елемента на За всеки Метод въведено в ред 3 – ( и {. Първата отваряща скоба, ( отваря За всеки Метод . Освен това, скобата { отваря За всеки блок команден израз.
  4. След това, в ред 4 , пингвам всеки сървър, запазен в Сървъри променлива. По време на всеки цикъл на За всеки блокова итерация, тя взема име на сървър от Сървъри променлива – записва я в автоматична променлива, $_ – след това използва името на сървъра, запазено в $_, като име на компютъра в ping теста.

    Още веднъж, за да улесня достъпа до резултата от ping теста, записвам резултата в друга променлива, наречена PingTest . Резултатът от пинг теста ще бъде или Вярно или Невярно .
  5. В ред 5 , представям блока на операторите IF. След това, в състояние част от блока (), за всеки сървър, тествам дали резултатът от ping теста, запазен в PingTest променлива е Вярно или Невярно .

    Освен това, ако резултатът от пинг теста е Вярно , скриптът PowerShell изпълнява задачата в командния блок на оператора IF. Командният блок на оператора IF се отваря със скоба { в ред 5.
  6. След това, в Ред 6 , изпълнявам командата в блока на оператора IF. В Ред 7 , затварям командния блок на оператора IF със затваряща скоба, }.
  7. ред 8въвежда в иначе част от оператора на блока на оператора IF. В този блок изпълнявам командата, която искам да изпълня на всички сървъри, които върнаха False към ping теста.
  8. В ред 9 , скриптът генерира текущата дата и час. След това записва резултата в променлива, наречена клеймо за дата и час . Скриптът ще използва тази променлива в ред 10
  9. След това, в 10 ред , скриптът PowerShell записва текущата дата и час в текстовия файл, който създадох на ред 2. Командата в ред 9 е от 3 части.

    В първата част скриптът генерира част от съобщението за грешка. Тази част включва променливата dateandtimestamp и някои интервали.

    След това в частта от командата (съобщението) скриптът включва действително съобщение – Сървърът, $_ беше пропуснат, защото не отговори на ping. Автоматичната променлива $_ е същата променлива, генерирана от ForEaxch изявление в ред 4 .

    Накрая цялото съобщение се предава по канал към командата Out-File – това е in 11 ред .
  10. 12 редзатваря иначе команден блок на израза със затваряща скоба, }.
  11. След това, в 13 ред , скриптът затваря За всеки команден блок на оператор с часовник затваряща скоба, }.
  12. Накрая, в 14 ред , скриптът затваря За всеки Метод със затварящата скоба, ). В За всеки Метод беше отворена в ред 3.

Използвайте PowerShell за запис в текстов файл: Често задавани въпроси

Използвайте Powershell за запис в текстов файл: Често задавани въпроси 1. Как да изпратя PowerShell резултати към текстов файл?

Има 3 начина за изпращане на резултатите от PowerShell в текстов файл.

Първо, можете да използвате оператора > до резултата, който искате да изпратите в текстов файл, последван от интервал, след това пълния път до текстовия файл.

Освен това можете да използвате командата Out-File Cmdlets. За да използвате Out-File, тръба (|), изходът на резултата PowerShell към Out-File, последван от интервал, след това пълният път до текстовия файл.

И накрая, можете да добавите резултати от PowerShell към съществуващ текстов файл, като използвате Add-Content. Използването е подобно на Out-File, обяснено по-рано.

2. Как да запиша текстов файл в PowerShell?

Можете да използвате Нов продукт cmdlet, за да създадете нов текстов файл в PowerShell. За да добавите елементи към текстовия файл и да го запишете автоматично, използвайте Добавяне на съдържание командлет.

3. Как да прочета файл в PowerShell?

Използвай Get-Content cmdlet, за да прочетете съдържанието на текстов файл в PowerShell. Например, за да прочетете съдържанието на D: ext.txt, използвайте командата Get-Content D: ext.txt

Как да прочета файл в PowerShell

4. Как бихте показали стойността, съхранена в променлива в конзолата на PowerShell?

Въведете името на променливата в PowerShell и натиснете клавиша enter. Стойността, съхранена в променливата Powershell, ще бъде показана в конзолата. Например за показване на стойностите, съхранени в $Content променлива, просто въведете $Console в PowerShell и натиснете клавиша enter.

Как бихте показали стойността, съхранена в променлива в конзолата на PowerShell?

5. Как добавяте в PowerShell?

Най-лесният начин да добавите в PowerShell е да въведете числата, разделени със знака за добавяне (+), след което натиснете клавиша за въвеждане. Например, за да добавите 2 и 5, въведете 2 + 5 , след което натиснете enter. Отговорът ще се покаже в конзолата.

Как да добавите в PowerShell

Това е! Нашето актуализирано ръководство с изчерпателни примери за записване на изход на PowerShell в текстов файл.

Надявам се, че сте намерили тази S зона за полезна. Ако сте го сметнали за полезен, моля, гласувайте с „Да“ за въпроса „Полезна ли беше тази публикация“ по-долу.

Като алтернатива можете да зададете въпрос, да оставите коментар или да предоставите обратна връзка с формуляра за отговор, който се намира в края на тази страница.

И накрая, за още PowerShell S зони, посетете нашата страница с инструкции за Windows PowerShell. Може също да намерите нашата страница „Работа от дома“ за много полезна.

Препратки и допълнителна литература

  1. Извън файл
  2. Добавяне на съдържание
  3. Set-Content
  4. Out-Null
  5. Получаване на дата
  6. about_Redirection