有没有办法在c#应用程序中运行命令提示符命令?如果是这样,我该如何做以下几点:
copy /b Image1.jpg + Archive.rar Image2.jpg
这基本上是在JPG图像中嵌入一个RAR文件。我只是想知道在c#中是否有一种方法可以自动做到这一点。
有没有办法在c#应用程序中运行命令提示符命令?如果是这样,我该如何做以下几点:
copy /b Image1.jpg + Archive.rar Image2.jpg
这基本上是在JPG图像中嵌入一个RAR文件。我只是想知道在c#中是否有一种方法可以自动做到这一点。
当前回答
这也可以通过P/调用C标准库的系统函数来实现。
using System.Runtime.InteropServices;
[DllImport("msvcrt.dll")]
public static extern int system(string format);
system("copy Test.txt Test2.txt");
输出:
1 file(s) copied.
其他回答
var proc1 = new ProcessStartInfo();
string anyCommand;
proc1.UseShellExecute = true;
proc1.WorkingDirectory = @"C:\Windows\System32";
proc1.FileName = @"C:\Windows\System32\cmd.exe";
proc1.Verb = "runas";
proc1.Arguments = "/c "+anyCommand;
proc1.WindowStyle = ProcessWindowStyle.Hidden;
Process.Start(proc1);
还提到了微软。VisualBasic
Interaction.Shell("copy /b Image1.jpg + Archive.rar Image2.jpg", AppWinStyle.Hide);
是的,有(参见Matt Hamilton的评论中的链接),但是使用。net的IO类会更简单更好。您可以使用File。ReadAllBytes读取文件,然后是File。写“嵌入式”版本。
你可以使用简单的。bat格式的代码扩展名,批处理文件的代码:
c:/ copy /b Image1.jpg + Archive.rar Image2.jpg
使用下面的c#代码:
Process.Start(“file_name.bat”)
你可以在一行中使用CliWrap来做到这一点:
var result = await Cli.Wrap("cmd")
.WithArguments("copy /b Image1.jpg + Archive.rar Image2.jpg")
.ExecuteBufferedAsync();
var stdOut = result.StandardOutput;