C# 调用CMD执行命令行

  这几天用c#做了一个项目,其中一个功能是要把生成的临时文件隐藏,同时,不能在屏幕上有调用CMD的痕迹,这里生成的临时文件的绝对路径为delfile为文件的绝对路径,

代码如下:

 

private void HiddenFile()
{
System.Diagnostics.Process proRestart = new System.Diagnostics.Process();    //创新Process
proRestart.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; //不显示窗体
proRestart.StartInfo.UseShellExecute = true;
string strArgument = "/c attrib +s +h " + delfile;//调用cmd命令行隐藏文件,显示文件命令为 attrib -s -h
//  attrib +s +h 是隐藏文件,/c 是   执行字符串指定的命令然后终断

delfile为文件的绝对路径,


//启动参数
proRestart.StartInfo.Arguments = strArgument;
proRestart.StartInfo.CreateNoWindow = true;
proRestart.StartInfo.FileName = "c:\\windows\\system32\\cmd.exe";
proRestart.Start();
}

这样就可以了,各位使用的时候,可以直接调用,也可以修改此函数,传递参数

希望能对大家有所帮助。

另外有不正确的地方请大家指出来,本人好及时修改,避免误导新人,谢谢。

希望大家共同进步

转载于:https://www.cnblogs.com/blindman/p/3853983.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用C#的`Process`类来启动命令行执行命令,同时使用`Timer`类来定时调用该方法。这样就可以避免阻塞了。 以下是一个示例代码: ```csharp using System; using System.Diagnostics; using System.Timers; namespace ConsoleApp1 { class Program { static void Main(string[] args) { Timer timer = new Timer(5000); // 定时器间隔为5秒 timer.Elapsed += new ElapsedEventHandler(OnTimedEvent); timer.Enabled = true; Console.WriteLine("Press any key to exit..."); Console.ReadKey(); } private static void OnTimedEvent(object source, ElapsedEventArgs e) { Console.WriteLine("Executing command..."); Process process = new Process(); process.StartInfo.FileName = "cmd.exe"; process.StartInfo.Arguments = "/C dir"; // 执行dir命令 process.StartInfo.UseShellExecute = false; process.StartInfo.RedirectStandardOutput = true; process.Start(); string output = process.StandardOutput.ReadToEnd(); Console.WriteLine(output); process.WaitForExit(); process.Close(); Console.WriteLine("Command executed."); } } } ``` 在上面的示例中,`OnTimedEvent`方法会定时执行,启动命令行执行`dir`命令。注意,我们使用`/C`参数来告诉命令行执行完命令后自动关闭。同时,我们还将`RedirectStandardOutput`属性设置为`true`,这样就可以获取命令行输出并打印到控制台上。 另外,要注意的是,在执行命令时,我们使用了`process.WaitForExit()`方法来等待命令行执行完毕。这里可以根据具体情况调整等待时间,或者使用异步方式执行命令。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值