[英]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.