0

シンプルな C# コンソール アプリケーションがあります。

static int Main(string[] args)
{
    Console.WriteLine("[" + args.Length + "]");
    for (int i = 0; i < args.Length; i++)
        Console.WriteLine(args[i]);
    Console.ReadKey();
}

ここで、Windows コンソールを開いて次のように入力します。

C: &&
cd "C:\Users\yagudin.rr\Documents\Visual Studio 2012\Projects\EmailSender\EmailSender\bin\Debug\" &&
"EmailSender.exe" "C:\Users\yagudin.rr\Documents\Visual Studio 2012\Projects\EmailSender\EmailSender\bin\Debug\" "C:\Program Files (x86)\FastReports\FastReport Studio\Bin\"

出力は次のとおりです。

[4]
C:\Users\yagudin.rr\Documents\Visual Studio 2012\Projects\EmailSender\EmailSender\bin\Debug" C:\Program
Files
(x86)\FastReports\FastReport
Studio\Bin"

しかし、私はこれを見たい:

[2]
C:\Users\yagudin.rr\Documents\Visual Studio 2012\Projects\EmailSender\EmailSender\bin\Debug\
C:\Program Files (x86)\FastReports\FastReport Studio\Bin\

私は簡単に思えますが、解決策を見つけるのにすでに多くの時間を費やしています。ありがとうございました。

4

1 に答える 1

2

コマンド ラインの末尾の引用符は、パスの末尾にバックスラッシュを付けてエスケープします ( の後EmailSenderと の後Bin)。
それらを削除します。

"EmailSender.exe" "C:\Users\yagudin.rr\Documents\Visual Studio 2012\Projects\EmailSender\EmailSender\bin\Debug" "C:\Program Files (x86)\FastReports\FastReport Studio\Bin"

バックスラッシュを含めたい場合は、引用符の前に来るときにエスケープする必要があります。

"EmailSender.exe" "C:\Users\yagudin.rr\Documents\Visual Studio 2012\Projects\EmailSender\EmailSender\bin\Debug\\" "C:\Program Files (x86)\FastReports\FastReport Studio\Bin\\"
于 2013-09-09T07:43:57.660 に答える