相对于当前文件夹运行 exe [重复]
Posted
技术标签:
【中文标题】相对于当前文件夹运行 exe [重复]【英文标题】:Run exe relative to current folder [duplicate] 【发布时间】:2017-04-11 03:35:25 【问题描述】:我有一个包含我的 exe 的文件夹和一个名为 data 的文件夹。如何访问与当前在与 C# 中的数据文件夹相同的文件夹中打开的 exe 相关的数据文件夹?
【问题讨论】:
垃圾邮件标签有什么用?这是一个 C# 问题。无需提及任何其他标签。 能说一下目录结构吗? Path.Combine(Application.StartupPath , "data"); 【参考方案1】:示例文件夹结构:
--ApplicationFolder
|------> your exe
|------> Data folder
|------> files inside data folder
从相对路径获取完整路径
string applicationFolderPath =Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
string dataFolderPath = Path.Combine(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location), "Data");
【讨论】:
【参考方案2】:假设你有这个层次结构:
/* bin
Debug
Data
file.txt
App.exe
*/
如果您正在运行 App.exe
并且想要访问 file.txt
,您可以使用以下方法轻松完成:
string str = System.IO.File.ReadAllText("data\\file.txt");
如果您的目标是在层级中跃升:
/* bin
DataBefore
file2.txt
Debug
App.exe
*/
那么你可以使用:
string str = System.IO.File.ReadAllText("..\\DataBefore\\file2.txt");
【讨论】:
以上是关于相对于当前文件夹运行 exe [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何用CMD将当前文件下下面的文件复制到当前文件夹下面的文件夹!用相对路径!
执行java可执行文件(.exe)时如何获取CMD的目录[重复]