C#PowerShell在桌面上创建空白文本文件

Niv*_*ved 6 c# powershell

我正在尝试使用C#中的PowerShell在桌面上创建一个新文件.在终端你会做:

cd desktop
$null >> newfile.txt
Run Code Online (Sandbox Code Playgroud)

所以我试图用C#来模仿以前的陈述:

using (PowerShell PowerShellInstance = PowerShell.Create())
{
  PowerShellInstance.AddScript("cd desktop; $null >> newfile.txt");

  PowerShellInstance.Invoke();
}
Run Code Online (Sandbox Code Playgroud)

这样运行没有任何例外,但文件不是在桌面上创建的.谁能指出我做错了AddScript什么?

编辑

看起来问题来自于使用cd然后按顺序创建.

我能够通过这样做来实现它

PowerShellInstance.AddScript("$null >> C:\\users\\me\\Desktop\\newfile.txt");
Run Code Online (Sandbox Code Playgroud)

如果有人知道如何做cd命令后跟另一个请告诉我.

Rah*_*hul 1

对我来说,命令cd desktop本身似乎不起作用。如果你打开一个powershell控制台,那么它打开的默认路径是C:\Users\user_name\,很可能是从c#开始的,它不是用该路径打开,而是用当前项目的调试文件夹的工作目录打开;[@Nived 评论]

您当前的代码没有问题。只需将脚本语句更改为下面的内容即可正常工作

cd C:\Users\user_name\desktop; $null >> newfile.txt
Run Code Online (Sandbox Code Playgroud)

这样你的 C# 代码应该是这样的

using (PowerShell PowerShellInstance = PowerShell.Create())
 {
  PowerShellInstance.AddScript(@"cd C:\Users\user_name\desktop; $null >> newfile.txt");

 PowerShellInstance.Invoke();
}
Run Code Online (Sandbox Code Playgroud)