【发布时间】:2015-12-27 20:58:05
【问题描述】:
在发布之前,我已尝试尽职尽责地进行搜索,但在 C# 应用程序中启动 powershell 脚本时,我遇到了文件路径中的空格问题。我尝试过转义引号,几乎在任何地方都使用 @ 单引号。我在这里想念什么?
这就是我定义路径的方式:
public string importMusicLocation = @"C:\Program Files\Automation Toolbox\Scripts\Music_Import.ps1";
然后我启动一个 powershell 进程并指向路径,以前我在指向桌面上的路径时可以正常工作,没有空格,但现在我想将应用程序放在 Program Files 中,powershell 窗口只检测到通往空间的路径。
private void LaunchPshell(string script) {
string strCmdText = Path.Combine(Directory.GetCurrentDirectory(), script);
var process = System.Diagnostics.Process.Start(@"C:\windows\system32\windowspowershell\v1.0\powershell.exe", strCmdText);
process.WaitForExit();
}
在我发布此内容 5 分钟后,我意识到我不需要合并目录,我将删除此内容,但我可以发布解决方案以防其他人需要它。 powershell 启动脚本的一般语法是& 'C:\Program Files\Some Path':
public string importMusicLocation = @"& 'C:\Program Files\Automation Toolbox\Scripts\Music_Import.ps1'";
和
private void LaunchPshell(string script) {
var process = System.Diagnostics.Process.Start(@"C:\windows\system32\windowspowershell\v1.0\powershell.exe", script);
process.WaitForExit();
}
【问题讨论】:
-
您的问题是什么?顺便说一句,如果文件或文件夹的名称中有两个或更多相邻的空格,您接近
@"& 'C:\Program Files\Automation Toolbox\Scripts\Music_Import.ps1'"将失败。
标签: c# powershell path filepath