如何在我的asp.net/c#项目代码中使用脚本文件夹的相对路径
本文关键字:脚本 文件夹 路径 相对 代码 项目 我的 asp net | 更新日期: 2023-09-27 18:25:16
这个问题应该相对简单,甚至不需要太多解释,我认为如下:
我的网站正在使用Process对象执行一个批处理文件,该对象当然需要一个.bat文件的路径
我将把我的网站放在多个服务器上,因此我不想给出一个绝对路径,我只想在我的项目中使用一个相对路径(例如,使用visualstudio在我制作项目时自动生成的脚本文件夹)
我只是不确定一旦该文件进入脚本文件夹,如何在代码中引用它。
这是我当前引用.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");