比如可执行文件完整路径是:C:\AAA\BBB\cc.exe
我想获取的结果是:C:\AAA
现在我的办法是在代码里写死,如下
int index = Application.StartupPath.IndexOf(@"\BBB");
string WantedPath = Application.StartupPath.Substring(0, index);
但是在代码中写死不太好吧,有没有别的办法?请大虾们指教。
谢谢Launcher和其他大侠们的提醒
我这样子解决了:
string WantedPath = Application.StartupPath.Substring(0,Application.StartupPath.LastIndexOf(@"\"));
string WantedPath = Application.StartupPath.Substring(0,Application.StartupPath.LastIndexOf(@"\"));
从你的代码中没有发现代码写的很死啊
如果用户手比较闲,没事喜欢改改文件名,那就不行了...
@Raisa: 尝试过一次,用户就知道了,不能乱动了
GetRootPath
虽然不是直接答案,但得到启发,顺利解决了,谢谢
Path.GetDirectoryName(Application.StartupPath)
DirectoryInfo info = new DirectoryInfo(Application.StartupPath); String path = info.Parent.Parent.FullName;
你自己测试一下,反正就是这个意思。
DirectoryInfo di = new DirectoryInfo(string.Format(@"{0}..\..\", Application.StartupPath));
di.FullName 就是你想要的
..\有几个就是往回退几层