PowerShell: Как объединить две символьные строки в одну строку в выходном файле

#powershell

Вопрос:

Я хочу, чтобы строка в выходном файле выглядела так

Installed_VCS_Version = x.x.x.x (версия, введенная командой PS)

Я попытался сделать это с помощью следующих команд

 New-Item FileVersion3.txt
Set-Content FileVersion3.txt 'Installed File Version = '
Add-Content FileVersion3.txt (Get-Command 'C:UsersDownloads<x>.dll').FileVersionInfo.FileVersion
 

Но это добавляет версию файла в новую строку, в то время как я хочу, чтобы она была в той же строке.

Я попытался передать два потока через команду Set Content, но не могу заставить ее работать. У кого-нибудь есть идеи о том, как это сделать? Извините, если вопрос очень простой, но я новичок в PowerShell. Я просмотрел онлайн-учебник PS, но на эту проблему не ссылаются

Комментарии:

1. Извините, что команды в приведенном выше описании выглядят искаженными. вот они снова здесь

2. Новинка FileVersion3.txt Набор-Содержание FileVersion3.txt ‘Версия установленного файла =’ Добавить содержимое FileVersion3.txt (Get-Команда ‘C:UserslafarnumDownloadsaniteloggingclientapi.dll»). FileVersionInfo.ФайлОверсия

3. Set-Content ... -NoNewLine

4. ПРИВЕТ, чтобы добавить, я также пробовал это с опцией-NoNewline, но она не работает, когда я пробую этот набор PS-контента FileVersion7.txt ‘Версия установленного файла =’ PS Добавление содержимого-Не новая строка FileVersion7.txt (Get-Команда ‘C:UserslafarnumDownloadsaniteloggingclientapi.dll»). FileVersionInfo.ФайлОверсия

5. В моем файле отображается установленная версия файла = Таким образом, он не добавил версию файла, возвращенную командлетом Get-Command, Но если я введу содержимое набора FileVersion7.txt ‘Версия установленного файла =’ Добавить содержимое FileVersion7.txt (Get-Команда ‘C:UserslafarnumDownloadsaniteloggingclientapi.dll»). FileVersionInfo.FileVersion, тогда выходной файл выглядит следующим образом

Ответ №1:

Вам не нужно сначала создавать новый файл, Set-Content это сделает это за вас.

Если я правильно понимаю, это то, чего вы хотите:

 $v = (Get-Command 'C:UsersDownloads<x>.dll').FileVersionInfo.FileVersion
Set-Content -Path 'FileVersion3.txt' -Value "Installed File Version = $v"
 

Комментарии:

1. Большое спасибо Тео за ваш вклад. Я реализовал другое решение, но оно было слишком длинным и запутанным — ваше гораздо проще и эффективнее.