不要把bat放C,需要系統管理員權限才行,改成bat放在執行C#程式的所在資料裡夾執行,不用設定workingdirectory
可能我描述不太好,我是在VS上產出的EXE給使用者使用,是需要連外部呼叫的檔案一起給使用者使用才不會有路徑問題嗎?
那..........你在程式裡把BAT的內容即時產生,存到執行檔所在目錄(WriteAllText)
List<string> BAT = new List<string>();
BAT.Add("@echo off");
BAT.Add("copy c:\log20201217.txt D:\log20201217.txt");
File.WriteAllText("cccc.bat",string.Join('\n',BAT));
Thread.Sleep(1000);
Process.Start("cccc.bat");
但.........為什麼要再執行BAT?為什麼不在C# Console裡搞定就好?搬檔案、複製檔案、問問題,產生日期時間字串,比對檔案.............郇做的比BATCH好且簡單,如非要做自我更新的功能,我真的不會想弄個BATCH檔來自找麻煩
我再試試看 感謝您的幫忙