Прежде всего, извините, я не знаю, как сформулировать этот вопрос.
В любом случае, я сейчас работаю над сценарием PowerShell, который должен прочитать файл config.txt для настройки. Переменные, которые позже используются в скрипте.
Проблема, с которой я сейчас сталкиваюсь, заключается в том, что строка кода выглядит примерно так:
$Var1 = Get-Content -Path "Config.txt" -TotalCount ($LineCounterVar + 2)[-1]
Я переименовал переменные, поэтому я не надену Не нужно объяснять весь контекст
Теперь, чтобы объяснить, что я думал, что он должен делать, я собираюсь сделать реальный пример, который я использовал для его проверки:
Скажем так $ LineCounterVar имеет значение '1' . Тогда я подумал, что он получит только содержимое строки 2 и заполнит ее переменной $ Var1 . Это должно быть причиной [- 1] в конце команды, которая , как я понял из моего исследования inte rnet , указывает только на получение содержимого Последняя линия. То есть после получения всего контента до строки $ LineCounterVar + 2 с параметром -TotalCount .
Моя проблема в том, что ... нет. эта строка получает содержимое первой и второй строки и делает из нее одну строку. Например, если мой Config.txt выглядит следующим образом:
1.
XdhXX-XzuXX-XznXX-casXX-XX56X
Admin
Computername
J
(не имеет значения, что это значит)
Тогда вывод $ Var1 выглядит следующим образом:
- XdhXX-XzuXX-XznXX-casXX-XX56X
Но это не должно иметь место в моем видении сценария. На самом деле он должен вывести:
XdhXX-XzuXX-XznXX-casXX-XX56X
У меня также есть еще несколько строк кода, которые похожи, например что-то вроде:
$Var2 = (Get-Content -Path "Config.txt" -TotalCount ($LineCounterVar + 3))[-1]
$Var3 = (Get-Content -Path "Config.txt" -TotalCount ($LineCounterVar + 4))[-1]
$Var4 = (Get-Content -Path "Config.txt" -TotalCount ($LineCounterVar + 5))[-1]
Все это прекрасно работает. Они получают только содержание той строки, которую должны.
Может ли кто-нибудь помочь мне и / или объяснить мне, почему это не работает так, как я хочу?