c# - 从由 system.io.file.readalltext() 读取的 Poweshell 脚本创建一个有效的系统路径
问题描述
我正在创建一个将运行 PowerShell 脚本并在网页上提供结果的 asp 网站。
我现在的问题是,我有一个脚本返回日志文件的完整路径。我将这个返回的路径传递给 System.IO.File.ReadAllText()。但是我在运行时遇到了无效字符异常。
例子:
ABC.PS1
param(
[String]$computer
)
$Logfile = "C:\Scripts\ABC_$($computer)_$(Get-Date -f "dd-MM-yyy_hh-mm-ss").log"
$Logfile | Out-String
.aspx.cs
using (PowerShell PowerShellInstance = PowerShell.Create())
{
PowerShellInstance.AddCommand(@"C:\Scripts\ABC.ps1");
PowerShellInstance.Commands.AddParameter("computer", ServerNameTB.Text);
var results = PowerShellInstance.Invoke();
if (results.Count > 0)
{
var builder = new StringBuilder();
foreach (var psObject in results)
{
builder.Append(psObject.BaseObject.ToString());
}
String resultPath = builder.ToString();
//Exception invalid characters
diskCeanUpResult.Text = System.IO.File.ReadAllText(resultPath);
}
}
如何转换返回的路径,以便 File.ReadAllText() 可以访问它
解决方案
通过添加解决了该问题.TrimEnd('\r', '\n')
String resultPath = builder.ToString().TrimEnd('\r', '\n');
diskCeanUpResult.Text = System.IO.File.ReadAllText(resultPath);
推荐阅读
- tree - LL 旋转是单个左旋转还是单个右旋转?
- macos - 协同设计的应用程序在 Catalina 重新启动时崩溃,并显示“EXC_CRASH(代码签名无效)”
- python - 为什么 SpeechRecognition 没有检测到麦克风并产生错误
- angular - 如何在打字稿中深度克隆数组
- apache-kafka - 使用 SASL 的 Kafka 身份验证 - 重复的管理员用户?
- c# - 如何在没有错误/应用程序的情况下正确路由您的 actionName?
- react-native - 如何使用地图使用多个值
- elasticsearch - 按索引查询elasticsearch嵌套字段(插入顺序)
- javascript - 为什么带反引号的字符串插值不起作用?
- reactjs - fortawesome/react-fontawesome 包更改图标 onclick