如何在 C# 的启动选项中提供命令行参数的相对路径
本文关键字:命令行 参数 路径 相对 选项 启动 | 更新日期: 2023-09-27 18:35:45
我有一个目录文件夹,我们每天在其中获取 100 个文件。
我的程序从IN
文件夹中选取文件,并在处理后将它们放入Out
文件夹中。
我遇到了一个问题,当我给出确切的位置时
项目>属性>调试>启动选项>命令行参数
(即"C:''Data''IN''File.txt")然后程序成功执行并找到文件,但是当我提供像"C:''Data''IN"这样的位置时,它不会选择任何文件并抛出异常
找不到文件"C:''数据''In"。InnerException 为 Null。
IN 文件夹每天获取 100 个不同的文件。如何解决这个问题?
您需要使用 Directory.GetFiles() 静态类来获取要处理的文件列表。 Microsoft文档有一个有用的示例。
https://msdn.microsoft.com/en-US/library/07WT70x2(v=vs.110).aspx
"C:''Data''IN" 不是相对路径,它是包含文件的目录的绝对路径。您可以从绝对目录路径获取这样的文件:
string[] files = Directory.GetFiles(@"C:'Data'IN", "*.txt");
如果您只知道目录相对于 EXE 的路径,则可以像这样获得绝对路径:
string dir = Path.Combine(Application.StartupPath, @"Data'IN");