C# 如何在C中从文件夹中选择文件
我想从C命令行项目中的文件夹中选择一个文件。 例如,在C:\deployment\Test\u文件夹中有10多个。我用此代码显示该文件夹的内容C# 如何在C中从文件夹中选择文件,c#,C#,我想从C命令行项目中的文件夹中选择一个文件。 例如,在C:\deployment\Test\u文件夹中有10多个。我用此代码显示该文件夹的内容 例如,我想从该文件夹中选择第五个文件。如何实现这一点?对于一个简单的命令行界面工具,我想说,您可以要求用户输入一个引用列表中某个文件的数字,只要文件夹中的文件不多就可以了 大概是这样的: DirectoryInfo parentDir = new DirectoryInfo("C:/Deployment/Test_Folder");
例如,我想从该文件夹中选择第五个文件。如何实现这一点?对于一个简单的命令行界面工具,我想说,您可以要求用户输入一个引用列表中某个文件的数字,只要文件夹中的文件不多就可以了 大概是这样的:
DirectoryInfo parentDir = new DirectoryInfo("C:/Deployment/Test_Folder");
int i = 1;
foreach (FileInfo f in parentDir.GetFiles())
{
Console.WriteLine($"{i}. {f.Name}");
i++;
}
Console.WriteLine($"Please provide the number of the file your want to select (1-{i}):");
int id = -1;
if(Int32.TryParse(Console.ReadLine(),out id))
{
FileInfo f = parentDir.GetFiles()[id - 1];
//Do something
}
这个怎么样
使用SelectFilepath调用
它将显示文件,以便用户可以使用向上键和向下键进行选择
public static string SelectFile(string path)
{
bool FileSelect = false;
int FileChoice = 0;
List<string> Files = new List<string>();
foreach (string file in System.IO.Directory.GetFiles("."))
{
Files.Add(file);
}
if (Files.Count > 0)
{
FileSelect = true;
}
else
{
return "";
}
while (FileSelect)
{
Console.Clear();
Console.WriteLine("Select a file");
for (int i = 0; i < Files.Count; i++)
{
if (i == FileChoice)
{
Console.Write("[*]");
}
else
{
Console.Write("[ ]");
}
Console.WriteLine(Files[i]);
}
var key = Console.ReadKey();
if (key.Key == ConsoleKey.UpArrow)
{
FileChoice -= 1;
if (FileChoice == -1)
{
FileChoice = Files.Count - 1;
}
}
if (key.Key == ConsoleKey.DownArrow)
{
FileChoice += 1;
if (FileChoice == Files.Count)
{
FileChoice = 0;
}
}
if (key.Key == ConsoleKey.Enter)
{
FileSelect = false;
}
}
return Files[FileChoice];
}
你能添加代码而不是图片吗?这些文件是一个数组或列表,因此您可以通过索引或检查某个文件名等来访问nr5。了解应用程序的类型也很有用—控制台、WinForms、WPF。对于后两个,您可以使用标准对话框来选择文件。好的,对不起,这是一个.cs->控制台。显示文件夹内容的代码:System.IO.DirectoryInfo ParentDirectory=new System.IO。DirectoryInfo@C:\Test\u文件夹;ParentDirectory.GetFiles{Console.WriteLineDatei:+f.Name;}中的foreach System.IO.FileInfo f如果目录共享文件夹中的文件列表,例如,或用户在显示和用户响应之间创建/删除目录中的文件,则可能选择错误的文件。最好是在内存中创建一个列表,显示该列表并从该列表中获取文件名。确实,这不是一个简单的示例,它也不会检查int是否在范围内,正确处理非数字输入等。但我想说,它得到了点,谢谢!!这就是我要找的!所以有一个问题我有这样一个路径:公共静态字符串DB_restore_path=WoringPath+@\Backup\restore\mysqldump.txt;现在我想删除mysqldump.txt并将我在代码中选择的文件放入我必须说的公共静态字符串DB\u restore\u path=WoringPath+@\Backup\restore\f;