color A
netsh winsock reset
del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*"
del /f /s /q "%userprofile%\Local Settings\Temp\*.*"
del /f /s /q %systemdrive%\*.tmp
del /f /s /q %systemdrive%\*._mp
del /f /s /q %systemdrive%\*.log
del /f /s /q %systemdrive%\*.gid
del /f /s /q %systemdrive%\*.chk
del /f /s /q %systemdrive%\*.old
del /f /s /q %systemdrive%\recycled\*.*
del /f /s /q %windir%\*.bak
del /f /s /q %windir%\prefetch\*.*
rd /s /q %windir%\temp & md %windir%\temp
rem del /f /q %userprofile%\COOKIES s\*.*
rem del /f /q %userprofile%\recent\*.*
%windir%\system32\sfc.exe /purgecache
%windir%\system32\defrag.exe %systemdrive% -b
echo 清除系统完成!
echo. & pause
这些不要改,怎么又办法直接写到c#代码里 运行的时候像运行bat文件一样 可见的 运行完自动关闭。在线等
11 个解决方案
#1
BAT只是脚本,运行他的是DOS系统。如果按你说的不用外部程序,直接在C#中运行以上代码,你需要在C#里内嵌DOS系统的全部代码。
#2
创建个临时bat文件,把这些脚本写进去,然后运行
#3
对啊 可以 比如嵌入这个bat文件也可以啊
#4
Process p = new Process("cmd.exe");
p.xxxxxxx
....
p.xxxxxxx
....
#5
看了LZ的代码 感觉很可笑.
我知道你想做一点好玩的东西 比如"一键清理垃圾".
既然bat实现了.给你自己用或者他人用 双击exe跟双击bat 有什么区别? 我觉得没区别.
其次,既然你用了bat 你得了解一点吧.比如上述代码是获取系统临时目录 删除里面的文件.
你用c# 也可以写出来这样的代码.
这样的话 逼格是不是更高一些呢?
另外2#的 如果你可以接收 也可以啊.
几句话就搞定了.
我知道你想做一点好玩的东西 比如"一键清理垃圾".
既然bat实现了.给你自己用或者他人用 双击exe跟双击bat 有什么区别? 我觉得没区别.
其次,既然你用了bat 你得了解一点吧.比如上述代码是获取系统临时目录 删除里面的文件.
你用c# 也可以写出来这样的代码.
这样的话 逼格是不是更高一些呢?
另外2#的 如果你可以接收 也可以啊.
几句话就搞定了.
var str="你上面的代码";
sys.io.file.writealltext("1.bat",str);
process.start("1.bat");
#6
对,就是这样。
#7
你的这个的代码不行啊
#8
有人吗???????
#9
var str="你上面的代码";
sys.io.file.writealltext("1.bat",str);
process.start("1.bat");
我觉得你应该连基本的c#也不会..否则上面的代码 怎么可能不行?
或者 你不会是直接copy到vs里的吧..........
#10
sys.io.file.writealltext
#11
StringBuilder cmdBuilder = new StringBuilder();
//cmdBuilder.AppendLine(@"del /f /s /q %systemdrive%\*.tmp");
//cmdBuilder.AppendLine(@"del /f /s /q % systemdrive %\*._mp");
//todo, build your command
cmdBuilder.AppendLine(@"del /f /s /q d:\test.txt");
Process cmdExecutor = new Process();
cmdExecutor.StartInfo.FileName = "cmd.exe";
cmdExecutor.StartInfo.UseShellExecute = false;
cmdExecutor.StartInfo.RedirectStandardInput = true;
cmdExecutor.Start();
cmdExecutor.StandardInput.Write(cmdBuilder.ToString());
cmdExecutor.StandardInput.Flush();
cmdExecutor.StandardInput.Close();
cmdExecutor.WaitForExit();
cmdExecutor.Close();
#1
BAT只是脚本,运行他的是DOS系统。如果按你说的不用外部程序,直接在C#中运行以上代码,你需要在C#里内嵌DOS系统的全部代码。
#2
创建个临时bat文件,把这些脚本写进去,然后运行
#3
对啊 可以 比如嵌入这个bat文件也可以啊
#4
Process p = new Process("cmd.exe");
p.xxxxxxx
....
p.xxxxxxx
....
#5
看了LZ的代码 感觉很可笑.
我知道你想做一点好玩的东西 比如"一键清理垃圾".
既然bat实现了.给你自己用或者他人用 双击exe跟双击bat 有什么区别? 我觉得没区别.
其次,既然你用了bat 你得了解一点吧.比如上述代码是获取系统临时目录 删除里面的文件.
你用c# 也可以写出来这样的代码.
这样的话 逼格是不是更高一些呢?
另外2#的 如果你可以接收 也可以啊.
几句话就搞定了.
我知道你想做一点好玩的东西 比如"一键清理垃圾".
既然bat实现了.给你自己用或者他人用 双击exe跟双击bat 有什么区别? 我觉得没区别.
其次,既然你用了bat 你得了解一点吧.比如上述代码是获取系统临时目录 删除里面的文件.
你用c# 也可以写出来这样的代码.
这样的话 逼格是不是更高一些呢?
另外2#的 如果你可以接收 也可以啊.
几句话就搞定了.
var str="你上面的代码";
sys.io.file.writealltext("1.bat",str);
process.start("1.bat");
#6
对,就是这样。
#7
你的这个的代码不行啊
#8
有人吗???????
#9
var str="你上面的代码";
sys.io.file.writealltext("1.bat",str);
process.start("1.bat");
我觉得你应该连基本的c#也不会..否则上面的代码 怎么可能不行?
或者 你不会是直接copy到vs里的吧..........
#10
sys.io.file.writealltext
#11
StringBuilder cmdBuilder = new StringBuilder();
//cmdBuilder.AppendLine(@"del /f /s /q %systemdrive%\*.tmp");
//cmdBuilder.AppendLine(@"del /f /s /q % systemdrive %\*._mp");
//todo, build your command
cmdBuilder.AppendLine(@"del /f /s /q d:\test.txt");
Process cmdExecutor = new Process();
cmdExecutor.StartInfo.FileName = "cmd.exe";
cmdExecutor.StartInfo.UseShellExecute = false;
cmdExecutor.StartInfo.RedirectStandardInput = true;
cmdExecutor.Start();
cmdExecutor.StandardInput.Write(cmdBuilder.ToString());
cmdExecutor.StandardInput.Flush();
cmdExecutor.StandardInput.Close();
cmdExecutor.WaitForExit();
cmdExecutor.Close();