C# 在C中将文件另存为.ps1#
我目前正在编写一个应用程序来解析文本文件中的PowerShell命令,然后尝试将结果保存为.ps1以运行这些命令。我将命令保存为文本文件没有问题,但我似乎不知道如何将输出保存为.ps1文件 代码:C# 在C中将文件另存为.ps1#,c#,powershell,C#,Powershell,我目前正在编写一个应用程序来解析文本文件中的PowerShell命令,然后尝试将结果保存为.ps1以运行这些命令。我将命令保存为文本文件没有问题,但我似乎不知道如何将输出保存为.ps1文件 代码: string[]allLines=File.ReadAllLines(inputFile); int start=-1; int end=-1; for(int i=0;i
string[]allLines=File.ReadAllLines(inputFile);
int start=-1;
int end=-1;
for(int i=0;i
当使用“File.writeAllinesAsync(“testOut.txt”,output)”行运行此代码时,没有问题,因此问题似乎是该文件。writeAllinesAsync()只能写入文本文件,或者至少不能写入.ps1文件
有没有办法直接写入.ps1,或者有没有办法写入.txt,然后将其转换为.ps1
谢谢你的帮助
async
方法需要wait
ed。如果您自己不在async
方法中,只需使用同步版本(File.writeAllines
)。使用WriteAllinesAsynca时,我仍然会遇到与使用WriteAllinesAsynca时相同的问题。ps1文件只不过是一个具有不同扩展名的文本文件。具体来说,当您File.writeAllinesAsync(“testOut.ps1”,output)时遇到的问题是什么代码>?您不需要发布整个项目来问这个问题。只需尝试File.writeAllines(“C:\\some.stuff”,新字符串[]{“somestuff”})
即可查看它是否正常工作。如果File.writeAllines没有给您任何错误消息,则很可能是您在错误的目录中查找文件。尝试指定绝对路径。
string[] allLines = File.ReadAllLines(inputFile);
int start = -1;
int end = -1;
for (int i = 0; i < allLines.Length; i++)
{
if (allLines[i].Equals("STRING powershell Start-Process notepad -Verb runAs") && start == -1)
{
start = i;
}
else if (allLines[i].Equals("CTRL s") && end == -1)
{
end = i;
}
}
string[] lines = allLines[start..end];
List<string> output = new List<string>();
foreach (string line in lines)
{
if (line.StartsWith("STRING"))
{
output.Add(line.Replace("STRING ", ""));
}
}
File.WriteAllLinesAsync("testOut.ps1", output);
System.Console.ReadLine();