2017-02-28 5 views
1
以下のC#で

私のコーディング: -Windows7のフルパス名を渡すには?

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:ビデオファイルが再生または開かれなかったため、同じビデオファイルが正しく通過しませんでした。

答えて

0

ケース2では、フルネームを引用符(@"""J:\....mp4""")に、ケース1では(aaa = "J:\....mp4")を入れませんでした。その解決策がはっきりしているかもしれないとは思うが、aaa = @"""J:\....mp4"""を試してみましたか?

0

ファイルパスが引用符で囲まれているように見えます(パスにスペースが含まれる場合は非常に一般的です)。

あなたの第二の場合は、明示的に値の前後に引用符を指定します:@"""x"""は引用符で囲まれたxのリテラル文字列です。最初のケースの値はちょうど"x"と指定されているため、引用符はありません。

0

あなたのファイル名に空白がある場合は、Processは別のコマンドとさせて頂きます。コマンドラインで

あなたが直接引用符""せずにコマンドの引数を渡す場合、それは空白が含まれている場合、それは別のコマンドとさせて頂きます。

あなたのケース1では、まったく同じことが起こりました。

関連する問題