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

时间:2015-04-27 12:45:57

标签: c# powershell

我尝试使用C#中的PowerShell在桌面上创建新文件。在终端你可以这样做:

cd desktop
$null >> newfile.txt

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

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

  PowerShellInstance.Invoke();
}

此操作没有任何例外,但文件未在桌面上创建。任何人都可以指出我对AddScript

做错了什么

修改

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

我能够通过

让它工作
PowerShellInstance.AddScript("$null >> C:\\users\\me\\Desktop\\newfile.txt");

如果有人知道如何执行cd命令后跟另一个命令,请告诉我。

2 个答案:

答案 0 :(得分:1)

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

您当前的代码没有问题。只需将脚本语句更改为下面,它应该可以正常工作

cd C:\Users\user_name\desktop; $null >> newfile.txt

你的C#代码应该是

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

 PowerShellInstance.Invoke();
}

答案 1 :(得分:0)

您也可以使用环境变量来查找桌面。

{{1}}