5

.NETでは、この行を実行しています

var p = Process.Start(@"cmd", @"/C mklink /H c:\z\b c:\z\a\");

これはすべて正常に動作しますが、mklink の 2 つの引数のいずれかにスペースがある場合、これが正しく機能しないことが心配です。そのため、両方のパラメーターの周りに "" を追加しました。この行を実行しても機能しなくなり、代わりに \"" を書いても機能しませんでした。

実行中に引用符を書くにはどうすればよいcmd /Cですか?

4

1 に答える 1

4
string sourcePath = @"c:\z\b";
string targetPath = @"c:\z\a";

string arguments = string.Format("\"{0}\" \"{1}\"", sourcePath, targetPath);

var p = Process.Start("cmd", "/C mklink /H " + arguments);

作業例:

string sourcePath = @"c:\documents and settings\harvey robert\My Documents\Test.txt";
string targetPath = @"c:\test";

string s = string.Format("\"{0}\" \"{1}\"", sourcePath, targetPath);
Process.Start("cmd", @"/c copy " + s);

1 個のファイルがコピーされました。

于 2012-11-30T22:36:49.263 に答える