[英]how do i use the relative path to the scripts folder in my asp .net / c# project code?
這個問題應該是相對簡單的,我不認為甚至不需要太多解釋,這里是:
我的網站正在使用Process對象執行批處理文件,該對象當然需要指向.bat文件的路徑
我將站點放置在多台服務器上,因此我不想提供絕對路徑,而只想在項目中使用相對路徑(例如,使用我在創建項目時由Visual Studio自動生成的腳本文件夾)
我只是不確定究竟如何在腳本文件夾中的代碼中引用該文件。
這是我當前引用我的.bat的代碼:
p.StartInfo.WorkingDirectory = "C:\\Users\\e\\Desktop\\Test_Bat_Thing";
p.StartInfo.FileName = "C:\\Users\\e\\Desktop\\Test_Bat_Thing\\test.bat";
完美地運作。 但我希望它能夠像
p.StartInfo.WorkingDirectory = ".\\scripts";
p.StartInfo.FileName = ".\\scripts\\test.bat";
請幫忙! 提前致謝 :)
嘗試使用"~/"
(Web根操作員)作為對站點Web根文件夾的引用。
您還可以使用以下方法將虛擬路徑轉換為物理路徑:
string rootPath = Server.MapPath("~");
Web根運算符:
ASP.NET包含Web應用程序根運算符(〜),您可以在服務器控件中指定路徑時使用它。 ASP.NET將〜運算符解析為當前應用程序的根。 您可以將〜運算符與文件夾結合使用,以指定基於當前根目錄的路徑。
有關更多詳細信息,請參見MSDN: ASP.NET Web項目路徑
嘗試如下操作:
p.StartInfo.FileName = this.Server.MapPath("test.bat")
如果需要引用當前用戶的桌面路徑,則可以使用此語句
string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
您的代碼看起來像
p.StartInfo.FileName = System.IO.Path.Combine(desktopPath, "\\Test_Bat_Thing\\test.bat");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.