我有反斜杠和空格的路径,我需要将其作为参数发送到regedit.exe:
\\folder1\folder2\folder three\file.reg
根据我的知识,在字符串前面使用@
应该允许直接指定反斜杠(没有转义)。这是我正在尝试执行它的完整代码:
string path = @"\\folder1\folder2\folder three\file.reg"
Process regeditProcess = Process.Start("regedit.exe", file);
当我尝试运行程序时,它从regedit的输出中给出了一个错误:
无法导入\ folder1 \ folder2 \ folder:打开文件时出错。可能存在磁盘或文件系统错误
因为错误报告正确反斜杠我猜测编译器或regedit在"文件夹"
之后没有读过任何超过空格的内容答案 0 :(得分:6)
在命令行中传递参数时,需要用"
包围它们。试试这个:
string path = @"""\\folder1\folder2\folder three\file.reg""";
Process regeditProcess = Process.Start("regedit.exe", path);
在逐字字符串中添加""
将向字符串添加单个双引号,以便生成的字符串为"\\folder1\folder2\folder three\file.reg"
,然后允许它正确传递给regedit.exe
。