フォルダーを XCOPY するために .bat ファイルを呼び出しています。ファイル名と宛先をバッチファイルに渡す方法はありますか?
私の.batファイル
XCOPY %1 %2
pause
.bat を呼び出すために使用しているコードは次のとおりです。
process.Start(@"C:\Documents and Settings\cmolloy\My Documents\Test\XCOPY.bat");
私はこのコードを試しました
process.Start(@"C:\Documents and Settings\cmolloy\My Documents\Test\XCOPY.bat" , copyfrom copyto);
コンプをシャットダウンするために以前にそれを使用したことがありますが、これでは機能しません。
ありがとう
アップデート
process.StartInfo.FileName = @"C:\Documents and Settings\cmolloy\My Documents\Test\XCOPY.bat";
process.StartInfo.Arguments = copyFrom.ToString();
process.StartInfo.Arguments = copyTo.ToString();
process.Start();
それは私が使用しているコードですが、機能しません。XCOPY画面からこれを取得しています:
したがって、完全なファイルパスを取得しているようには見えません。copyto と copyfrom は、パスを含む変数です。
アップデート
azhrei のコードを使用する:
String batch = @"C:\Documents and Settings\cmolloy\My Documents\Test\XCOPY.bat";
String src = @"C:\Tricky File Path\Is Here\test1.txt";
String dst = @"C:\And\Goes Here\test2.txt";
String batchCmd = String.Format("\"{0}\" \"{1}\" \"{2}\"", batch, src, dst);
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.Arguments = String.Format("/k \"echo {0}\"", batchCmd);
process.Start();
私はこの出力を得ています:
実際にはファイルをコピーしていません。