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