提问人:Bas Curtiz 提问时间:6/30/2018 最后编辑:Bas Curtiz 更新时间:7/1/2018 访问量:288
如何替换 PATH 环境变量以双引号 + 反斜杠那些在 C# 中带有空格的变量?
How do I replace PATH Environment variables to double quote + backslashes those which have spaces in C#?
问:
语言版本: C# - 操作系统: Win 10 - IDE: Visual Studio
让用户设置路径时遇到了问题。 当路径没有空格时,一切都很好。没有问题。
当路径包含空格时,我将数据转发到的 CLI 不接受它并立即关闭。
那是因为它在到达时错过了正确的语法(开头和结尾的双引号+双反斜杠)。 所以正确的语法是:
app.exe -q MP3_128 -p "C:\\test test\\"
由于我在 WMF 中使用 Environment.GetFolderPath,因此我不知道如何将它们添加到其输出中......
如何替换 PATH 环境变量以双引号 + 反斜杠那些在 C# 中带有空格的变量?
Code:
if (Settings.Default.download == "")
{
MessageBox.Show("Be sure your download path doesnt contain any spaces!");
String path = Environment.GetFolderPath (Environment.SpecialFolder.MyMusic);
String pathDouble = path.Replace("'", "\"");
Settings.Default.download = @"""C:\\Test\DOWN LOADS""";
Settings.Default.Save();
}
这是在
Code:
if (Settings.Default.sm != "")
{
download.StartInfo.FileName = Settings.Default.sm;
string a = " -q " + qualitys + " -p " + Settings.Default.download + " " +
info[result.SelectedIndex].link;
Debug.Write(a);
download.StartInfo.Arguments = a;
}
硬编码的默认路径集有效。 但是,当用户根据自己的喜好使用 GUI 更改该路径时,它就消失了。
答:
0赞
Bas Curtiz
7/1/2018
#1
我想我编辑了错误的代码。
这段代码,我已经编辑过了,现在只需要在驱动器后面加一个双 \:
using (var folderDialog = new FolderBrowserDialog())
{
if (folderDialog.ShowDialog() == DialogResult.OK)
{
Settings.Default.download = @"""" + folderDialog.SelectedPath + @"\\""";
Settings.Default.Save();
txb_download_folder.Text = Settings.Default.download;
}
}
但是如何?
第一个 @“\” 中的简单 \ extra 会导致 \“C:\test test\\”。
评论
0赞
Bas Curtiz
7/1/2018
不知何故,不需要在first@“\”中添加额外的 \ 它现在就可以工作了!
评论
path = "\"" + path + "\"";