如何传递Windows7完整路径名?

时间:2017-02-28 04:49:28

标签: c#

我在下面的C#编码: -

private void button3_Click(object sender, EventArgs e)
{
    string filePathWithoutQuotes = "J:\\DataSource\\歌音楽\\Ver1\\夜霧の第二国道(カラオケ)フランク永井 (u6quC2KQNHw)(本人出演).mp4";
    // case 1:
    System.Diagnostics.Process.Start("C:\\Users\\Frank\\Downloads\\動画再生\\Qonoha\\qonoha20203\\qonoha\\Qonoha.exe",
        filePathWithoutQuotes);
    // case 2
    System.Diagnostics.Process.Start("C:\\Users\\Frank\\Downloads\\動画再生\\Qonoha\\qonoha20203\\qonoha\\Qonoha.exe", 
       @"""J:\\DataSource\\歌音楽\\Ver1\\夜霧の第二国道(カラオケ)フランク永井 (u6quC2KQNHw)(本人出演).mp4""");
}

案例2:Win7完整路径名称正确传递,视频文件由名为Qonoha的视频播放器播放和打开。这只是一个控制测试,以确保正确完成编程的休息。

案例1:由于视频文件无法播放或打开,同一视频文件未正确传递。

3 个答案:

答案 0 :(得分:0)

我在案例2中看到您将全名放入引号(@"""J:\....mp4"""),而案例1则没有(aaa = "J:\....mp4")。虽然我怀疑解决方案可能如此明显,但您是否尝试过aaa = @"""J:\....mp4"""

答案 1 :(得分:0)

看起来该工具需要引号中的文件路径(这在路径包含空格的情况下非常常见)。

您的第二种情况明确指定值周围的引号:@"""x"""是引号中x的字符串文字。第一种情况的值仅指定"x",因此没有引号。

答案 2 :(得分:0)

如果您的文件名有空格,Process会将其视为另一个命令。

如果在没有引号""的情况下直接传递命令参数,则在命令行中,如果它包含空格,则会将其视为另一个命令。

在你的情况1中,完全相同。