Как я могу использовать процесс.начать, когда путь содержит пробелы (VB.NET)
Всем Привет,
Я действительно борюсь с попыткой использовать процесс.Начало("Regedit.exe", " / e path + аргумент) для работы.
У меня нет установленного пути, так как пользователь должен иметь возможность выбрать путь для экспорта раздела реестра. Проблема в том, что если я выбираю папку, которая не содержит пробела в имени, она работает нормально. Если я выберу папку или создам ее с пробелом, она не будет работать.
Для тестирования я создал 2 папки на флешке;
Тест
Тест 1
Приведенный ниже код работает при выборе "тест", но не при выборе " тест 1"
Единственный способ заставить его работать - это сохранить его в корне c:\, а затем скопировать из C:\ в "chosenpath", но я знаю, что это глупый способ сделать это. Должно быть, я упускаю что-то маленькое.
Кто-нибудь может, пожалуйста, пожалуйста, помогите мне с решением? Я перепробовал все, что знаю и могу найти.
Что я уже пробовал:
С FolderBrowserDialog1
. Description = " выберите папку назначения для сохранения резервной копии. Создайте новую папку, если хотите."
.ShowNewFolderButton = Истина
'Открывает диалоговое окно для выбора папки источника
If. ShowDialog = Windows.Формы.свойство DialogResult.Тогда ладно
chosenpath =. SelectedPath
finalpath = chosenpath & " \RegBackup.txt HKEY_LOCAL_MACHINE\SOFTWARE\TestRegKey"
Конец, Если
Конец С
'Проверяет, была ли выбрана папка назначения или нажата кнопка" Отмена".
Если chosenpath это не Ничто тогда
MsgBox ("Reg будет экспортирован в" & amp; finalpath, MsgBoxStyle.OkOnly)
Система.Диагностика.Процесс.Начало("Regedit.exe", "/e " & finalpath)
Ключевые слова elseif chosenpath ничего
MsgBox ("резервное копирование прервано. Папка назначения Не выбрана.", MsgBoxStyle.Восклицание, название:= " резервное копирование прервано!")
Выход Из Субмарины
Ещё
Конец, Если
Я попробовал следующее;
Добавление кавычек вокруг выбранного пути (как рекомендовано постом, который я нашел, однако это был очень старый пост)
finalpath = """" &амп; chosenpath &ампер; """" &ампер; "\RegBackup.txt раздел HKEY_LOCAL_MACHINE\программное обеспечение\TestRegKey"
Это не сработало
Я также попробовал другое рекомендуемое решение, которое я нашел;
finalpath строка = строка.формат(@"\{0}\", chosenpath &ампер; "\RegBackup.txt раздел HKEY_LOCAL_MACHINE\программное обеспечение\TestRegKey")
Это не работает,
Затем я попробовал;
finalpath = " @ "& chosenpath & " \RegBackup.txt HKEY_LOCAL_MACHINE\SOFTWARE\TestRegKey")
Это не работает.