From 2e2f1f542db7d709813efd6dcce14e3bc076bfa0 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期四, 03 八月 2023 11:45:31 +0800
Subject: [PATCH] 1

---
 ExportMap/cs/Tools.cs |   63 ++++++++++++++++++++++++++++++-
 1 files changed, 60 insertions(+), 3 deletions(-)

diff --git a/ExportMap/cs/Tools.cs b/ExportMap/cs/Tools.cs
index b9ccb8d..c251067 100644
--- a/ExportMap/cs/Tools.cs
+++ b/ExportMap/cs/Tools.cs
@@ -166,9 +166,12 @@
         /// <summary>
         /// 鎵цCMD
         /// </summary>
+        /// <param name="task">浠诲姟</param>
         /// <param name="cmd">鍛戒护琛�</param>
+        /// <param name="isPy">鏄惁涓篞GIS Py鑴氭湰</param>
+        /// <param name="isOut">鏄惁杈撳嚭閿欒</param>
         /// <returns>鎵ц缁撴灉鎴栧嚭閿欎俊鎭�</returns>
-        public static string ExecCmd(string cmd, bool isPy = false, bool isOut = false)
+        public static string ExecCmd(SysTask task, string cmd, bool isPy = false, bool isOut = false)
         {
             List<string> list = new List<string>();
             if (isPy)
@@ -180,7 +183,7 @@
             }
             list.Add(cmd);
 
-            string str = ExecCmd(list, isOut);
+            string str = ExecCmd(task, list, isOut);
 
             return str;
         }
@@ -188,9 +191,11 @@
         /// <summary>
         /// 鎵цCMD
         /// </summary>
+        /// <param name="task">浠诲姟</param>
         /// <param name="list">鍛戒护闆嗗悎</param>
+        /// <param name="isOut">鏄惁杈撳嚭閿欒</param>
         /// <returns>鎵ц缁撴灉鎴栧嚭閿欎俊鎭�</returns>
-        public static string ExecCmd(List<string> list, bool isOut = false)
+        public static string ExecCmd(SysTask task, List<string> list, bool isOut = false)
         {
             string str = null;
             try
@@ -204,6 +209,8 @@
                 p.StartInfo.RedirectStandardOutput = true;
                 p.StartInfo.RedirectStandardError = true;
                 p.Start();
+
+                //p.Id;
 
                 StreamWriter si = p.StandardInput; // 鏍囧噯杈撳叆娴� 
                 StreamReader so = isOut ? p.StandardOutput : null; // 鏍囧噯杈撳嚭娴� 
@@ -239,6 +246,56 @@
         }
 
         /// <summary>
+        /// 鎵ц鍛戒护
+        /// </summary>
+        /// <param name="list">鍛戒护闆嗗悎</param>
+        public static string ExecCmd(List<string> list)
+        {
+            string str = null;
+            Process p = null;
+            try
+            {
+                p = new Process();
+                p.StartInfo.FileName = "cmd.exe";
+                p.StartInfo.UseShellExecute = false;
+                p.StartInfo.CreateNoWindow = true;
+                p.StartInfo.RedirectStandardInput = true;
+                p.StartInfo.RedirectStandardOutput = true;
+                p.StartInfo.RedirectStandardError = true;
+                p.Start();
+
+                StreamWriter si = p.StandardInput;
+                StreamReader se = p.StandardError;
+
+                LogOut.Info("cmd = " + string.Join("锛�", list));
+                si.AutoFlush = true;
+                foreach (string cmd in list)
+                {
+                    si.WriteLine(cmd);
+                }
+                si.WriteLine("exit");
+
+                str = se.ReadToEnd();
+                se.Close();
+                si.Close();
+            }
+            catch (Exception ex)
+            {
+                LogOut.Error(ex.Message + "\r\n" + ex.StackTrace);
+                str = ex.Message;
+            }
+            finally
+            {
+                if (p != null)
+                {
+                    p.Close();
+                    p = null;
+                }
+            }
+            return str;
+        }
+
+        /// <summary>
         /// 鍒涘缓鏁版嵁鍙戝竷绫�
         /// </summary>
         public static SysPublish NewPublish(SysMeta meta, XYZArgs args, string url, string path)

--
Gitblit v1.9.3