У меня есть сценарий powershell, который перебирает все службы, перечисленные в разделе HKLM:\Systemn\ControlSet001\services\
поисках ImagePath
чтобы увидеть, есть ли в нем пробелы, но нет кавычек.
например
C:\this is\very bad\but people\do it\anyways.exe
Но они могут содержать переключатели / параметры, такие как:
C:\this is\very bad\but people\do it\anyways.exe -foo -bar -ray:JkLmOpQ
C:\this is\very bad\but people\do it\anyways.exe /foo /bar /ray:JkLmOpQ
Достаточно просто обернуть вещи без параметров в кавычки,
например
$foo = "`"$bar`""
Тем не менее, я хотел бы обрабатывать вещи, которые могут иметь параметры, например,
"C:\this is\very bad\but people\do it\anyways.exe" -foo -bar -ray:JkLmOpQ
"C:\this is\very bad\but people\do it\anyways.exe" /foo /bar /ray:JkLmOpQ
Рассматривая использование RegEx или разбиение строки на /
или -
но у них могут быть крайние случаи, которые я пропускаю.