Как я могу получить каждую строку текстового файла, когда переменная находится в кавычках? - PullRequest
0 голосов
/ 31 марта 2020

Я возился с Powershell и гуглил разные вещи, пока я go. Это немного сложно выразить словами, которые Google woule понимает. Я могу получить отдельные строки текстового файла в powershell с помощью индексации:

$textFile = Get-Content "myText.txt"
$textFile[0]

Это выведет первую строку текстового файла. Но когда я помещаю текстовый файл в кавычки, он выводит все строки, даже с индексом

"$textFile[0]"

Как я могу получить только желаемую строку, заключая переменную в кавычки? Если я попытаюсь "$textFile"[0], он выдаст мне весь файл, как и раньше. Причина, по которой я пытаюсь это сделать, заключается в том, что я пытаюсь сделать эту строку текстового файла частью большей строки, которую я могу выполнить

$remote = "Enter-PSSession -ComputerName`", textFile[0]"

Invoke-Expression $remote

Это мой способ проиллюстрировать то, что я пытаюсь сделать.

1 Ответ

1 голос
/ 31 марта 2020

Вы можете использовать любой из следующих методов:

# Sub-expression operator
"Some Text $($textFile[0])"

# String format operator
"My Text {0}" -f $textFile[0]

# Concatenation
("Text"+$textFile[0])

Окружающие двойные кавычки говорят PowerShell развернуть строку внутри. Любые переменные внутри будут интерполированы. Переменные начинаются с $, и их следующие имена могут иметь только определенные символы без специального экранирования. [ потребует экранирования, и поскольку он не экранирован, PowerShell интерпретирует имя переменной, заканчивающееся символом непосредственно перед [. Поэтому $textFile интерполируется, все содержимое файла преобразуется в строку, а [0] добавляется в конец строки.


Подробные сведения об операторах можно найти на About_Operators .

См. About_Variables , чтобы узнать, как создать переменную, включающую в себя регистры со специальными символами, даже если это не применимо здесь напрямую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...