#c# #powershell #command
Вопрос:
В cmd я пишу это, и это работает (эта команда удаляет N первых строк из файла):
powershell.exe $file = "C:Testfile.txt" $content = Get-Content $file $content[10..($content.length-1)]|Out-File $file -Force
Я хочу написать этот код на C#, но мой путь неверен. Можете ли вы объяснить, почему?
using (PowerShell ps = PowerShell.Create()) { ps.AddCommand($"$file = "{fullPathToTxt}"") .AddCommand("$content = Get-Content $file") .AddCommand($"$content[{numLine}..($content.length-1)]|Out-File $file -Force") .Invoke(); }
Комментарии:
1. может быть, будет проще выполнять все эти действия с помощью C#?
2. Я хочу сделать это таким образом 😀
Ответ №1:
Вместо addCommand я должен использовать метод AddScript.
Ответ №2:
Вы можете использовать эту команду для выполнения сценария powershell
PowerShell ps = PowerShell.Create(); ps.AddScript(File.ReadAllText(@"D:PSScriptsMyScript.ps1")).Invoke();