Назад | Перейти на главную страницу

Powershell: простой сценарий для получения списка команд и добавления одного и того же командлета каждый раз

У меня есть список команд, которые я запускаю в таком скрипте

Some-Cmdlet -someswitch | Outfile -filepath .\somefile.txt -append
Another-Cmdlet -someswitch | Out-File -filepath .\somefile.txt -append
Hello-Cmdlet -someswitch | Out-File -filepath .\somefile.txt -append
Banana-Cmdlet -someswitch | Out-File -filepath .\somefile.txt -append

На самом деле это длинный список команд, создающих этот somefile.txt.

Если мне нужно изменить местоположение или название somefile.txt, Я должен редактировать каждую строку одну за другой. Я бы хотел очистить скрипт для удобства обслуживания, поэтому мне нужно что-то вроде этого:

Для следующего списка команд:

Some-Cmdlet -someswitch
Another-Cmdlet -someswitch
Hello-Cmdlet -someswitch
Banana-Cmdlet -someswitch

Всегда добавляйте это в команду:

 | Outfile -filepath .\somefile.txt -append

Таким образом, мне нужно отредактировать сценарий только в одном месте, если somefile.txt путь или имя необходимо изменить.

Самый простой способ избежать повторного указания одного и того же имени файла каждый раз - просто сохранить имя файла в переменной, а затем ссылаться на эту переменную в каждой строке, например:

$FileName = .\somefile.txt

Some-Cmdlet -someswitch | Outfile -filepath $FileName -append
Another-Cmdlet -someswitch | Out-File -filepath $FileName -append
Hello-Cmdlet -someswitch | Out-File -filepath $FileName -append
Banana-Cmdlet -someswitch | Out-File -filepath $FileName -append