1

ソリューションからsystem32フォルダーにexeをコピーする小さなバッチファイルを作成しました。

copy "blah.exe" "%systemroot%/System32"

バッチファイルは正常に機能し、ダブルクリックによってデスクトップから実行された場合はexeをコピーします(デスクトップにもexeを配置します)

しかし、私は次の方法でWindowsアプリケーションからそれを実行しようとしました。

Process.Start("sample.bat");

(EXEファイルとbatfile->プロパティ->常にコピーするための出力)cmdウィンドウは表示されますが、.exeファイルは宛先ディレクトリにありません。ここで何が欠けていますか?

4

1 に答える 1

0

バッチファイルで、blah.exeがある特定のフォルダーへのパスを変更し、特定のドライブに変更してから、特定のフォルダーに変更します。ソースフォルダーがC:\ testであると指定し、バッチファイルにcd\testと入力します。お気に入り:

C:
cd\test
copy "blah.exe" "%systemroot%/System32"

または完全なパスでコピーを使用します。

copy "C:\test\blah.exe" "%systemroot%/System32"

編集:CMDを使用してコピーするには:

System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new       System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "/C copy /b blah.exe %systemroot%/System32";
process.StartInfo = startInfo;
process.Start();

編集2:またはバッチファイルの場合

 System.Diagnostics.Process.Start("cmd", "/c sample.bat");
于 2012-04-09T10:19:50.263 に答える