Я пытаюсь выполнить свою должную осмотрительность при поиске до публикации, но у меня возникают проблемы с пространством в пути к файлу при запуске скрипта powershell в .. C# приложение, которое я пытался избежать кавычки, используя @ почти везде, одинарные кавычки Что я здесь отсутствуетПробелы в пути к файлу, не работающие с @ или "(C#)
Это как я определяю путь:
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();
}
В чем вопрос? BTW, вы подходите к '@ '&' C: \ Program Files \ Automation Toolbox \ Scripts \ Music_Import.ps1 '" 'не удастся, если файл или папка имеют два или более смежных пространства в имени. – PetSerAl