对于字符串插值,如何处理通过管道传输到命令中的包含空格的变量?例如,如果您有一个包含空格的变量(如 UNC 路径),您将如何处理?
当“filePath”变量(即\ServerName\testfile.txt)中没有空格时,此代码有效:
例如:System.Diagnostics.Process.Start("net.exe", $"use X:\\{filePath} {pwd/USER:{usr}").WaitForExit();
但是,一旦遇到其中包含空格的路径,上面的命令就不再有效,因为它无法找到路径。通常,我会在包含空格的路径周围应用引号,以解决这个问题(在 PowerShell 等其他语言中)。你如何用 C# 插值做类似的事情。
最佳答案
C# 6.0+:
System.Diagnostics.Process.Start("net.exe", @$"use X: \\Servername\share {pwd} /USER:{usr}").WaitForExit();
C# < 6.0:
System.Diagnostics.Process.Start("net.exe", @"use X: \\Servername\share " + pwd + " /USER: " + usr).WaitForExit();
关于引号内的 C# 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49961186/