我有带反斜杠和空格的路径,需要将其作为参数发送给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在“文件夹”后未读取任何超出空白的内容
在命令行中传递参数时,需要将它们括起来"
。尝试这个:
string path = @"""\\folder1\folder2\folder three\file.reg""";
Process regeditProcess = Process.Start("regedit.exe", path);
添加""
逐字字符串会在字符串中添加单引号,因此最终的字符串将"\\folder1\folder2\folder three\file.reg"
正确地传递给regedit.exe
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句