繁体   English   中英

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

[英]C# PowerShell create blank text file on desktop

我正在尝试使用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命令后跟另一个请告诉我。

对我来说,看起来命令cd desktop本身不起作用。 如果你打开一个PowerShell控制台,那么它打开的默认路径是C:\\Users\\user_name\\而且很可能来自c#,它不是用那个路径打开而是打开工作目录是你当前项目的debug文件夹; [由@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();
}

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

using (PowerShell PowerShellInstance = PowerShell.Create())
{
   PowerShellInstance.AddScript(@"cd (Join-Path (Join-Path $env:HOMEDRIVE $env:HOMEPATH) desktop); $null >> newfile.txt");

   PowerShellInstance.Invoke();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM