public static void CleanTemp() { ProcessManager.SyncCMD("taskkill /f /IM imagex_x86.exe"); ProcessManager.SyncCMD("taskkill /f /IM imagex_x64.exe"); //KILL.Start(); //KILL.WaitForExit(); if (System.IO.Directory.Exists("V:\\")) { DetachVHDExtra(); } if (System.IO.Directory.Exists("V:\\")) { DetachVHDExtra(); //MsgManager.getResString("Msg_LetterV") //盘符V不能被占用! } if (System.IO.Directory.Exists("V:\\")) { ErrorMsg er = new ErrorMsg(MsgManager.GetResString("Msg_LetterV", MsgManager.ci)); er.ShowDialog(); } //if (useiso) { ProcessManager.SyncCMD("\""+Application.StartupPath + "\\files\\" + "\\isocmd.exe\" -eject 0: "); } try { //File.Delete () FileOperation.DeleteFile(WTGModel.diskpartScriptPath + "\\create.txt"); FileOperation.DeleteFile(WTGModel.diskpartScriptPath + "\\removex.txt"); FileOperation.DeleteFile(WTGModel.diskpartScriptPath + "\\detach.txt"); FileOperation.DeleteFile(WTGModel.diskpartScriptPath + "\\uefi.txt"); FileOperation.DeleteFile(WTGModel.diskpartScriptPath + "\\uefimbr.txt"); FileOperation.DeleteFile(WTGModel.diskpartScriptPath + "\\dp.txt"); FileOperation.DeleteFile(WTGModel.diskpartScriptPath + "\\attach.txt"); FileOperation.DeleteFile(Environment.GetEnvironmentVariable("TEMP") + "\\win8.vhd"); FileOperation.DeleteFile(Environment.GetEnvironmentVariable("TEMP") + "\\win8.vhdx"); FileOperation.DeleteFile(WTGModel.vhdTempPath + "\\win8.vhd"); FileOperation.DeleteFile(WTGModel.vhdTempPath + "\\win8.vhdx"); FileOperation.DeleteFile(WTGModel.vhdTempPath + "\\" + WTGModel.vhdNameWithoutExt + ".vhd"); FileOperation.DeleteFile(WTGModel.vhdTempPath + "\\" + WTGModel.vhdNameWithoutExt + ".vhdx"); } catch (Exception ex) { //MsgManager.getResString("Msg_DeleteTempError") //程序删除临时文件出错!可重启程序或重启电脑重试!\n MessageBox.Show(MsgManager.GetResString("Msg_DeleteTempError", MsgManager.ci) + ex.ToString()); Log.WriteLog("DeleteVHDTemp.log", ex.ToString()); //shouldcontinue = false; } }
/// <summary> /// 执行Diskpart命令 /// </summary> //public void RunDiskpartScriptByScriptFile(string scriptFile) //{ // StringBuilder dpargs = new StringBuilder(); // dpargs.Append(" /s \""); // dpargs.Append(scriptFile); // try // { // ProcessManager.ECMD("diskpart.exe", dpargs.ToString()); // } // catch (Exception) // { // //ProcessManager.KillProcessByName("diskpart.exe"); // throw; // } //} public void RunDiskpartScript() { OutputFilePath = Path.GetTempFileName(); CreateScriptFile(); StringBuilder dpargs = new StringBuilder(); dpargs.Append(" /s \""); dpargs.Append(TempScriptFile); dpargs.Append("\""); if (this.OutputToFile) { dpargs.Append(" > "); dpargs.Append("\""); dpargs.Append(this.OutputFilePath); dpargs.Append("\""); ProcessManager.SyncCMD("diskpart.exe" + dpargs.ToString()); } else { try { ProcessManager.ECMD("diskpart.exe", dpargs.ToString()); } catch (Exception) { //ProcessManager.KillProcessByName("diskpart.exe"); throw; } } //System.Console.WriteLine(File.ReadAllText (this.scriptPath)); //System.Console.WriteLine(dpargs.ToString()); //System.Windows.Forms.MessageBox.Show(dpargs.ToString()); //System.Console.WriteLine(File.ReadAllText (this.outputFilePath)); FileOperation.DeleteFile(TempScriptFile); }
public static string AutoChooseESDImageIndex(string esdPath) { string outputFilePath = Path.GetTempFileName(); StringBuilder args = new StringBuilder(); args.Append(" /get-wiminfo /wimfile:\""); args.Append(esdPath); args.Append("\" /english"); args.Append(" > "); args.Append("\""); args.Append(outputFilePath); args.Append("\""); //ProcessManager.RunDism(args.ToString()); ProcessManager.SyncCMD("dism.exe" + args.ToString()); string outputFileText = File.ReadAllText(outputFilePath); MatchCollection mc = Regex.Matches(outputFileText, @"Index"); if (mc.Count > 1) { FileOperation.DeleteFile(outputFilePath); return("4"); } else { FileOperation.DeleteFile(outputFilePath); return("1"); } //Match match = Regex.Match(outputFileText, @"Index :([1-9]).+Windows Technical Preview", RegexOptions.Singleline); //MessageBox.Show(match.Groups[1].Value); //ProcessManager.ECMD("diskpart.exe", args.ToString()); //System.Console.WriteLine(File.ReadAllText (this.scriptPath)); //System.Console.WriteLine(dpargs.ToString()); //System.Windows.Forms.MessageBox.Show(dpargs.ToString()); //System.Console.WriteLine(File.ReadAllText (this.outputFilePath)); }
/// <summary> /// 删除输出文件 /// </summary> public void DeleteOutputFile() { FileOperation.DeleteFile(this.OutputFilePath); }