gpt4 book ai didi

c# - 在不知道文件名的情况下将文件从一个位置移动到另一个位置

转载 作者:行者123 更新时间:2023-11-30 20:30:42 24 4
gpt4 key购买 nike

我的一个可执行进程产生了两个文件。我想将生成的一个文件移动到共享驱动器。我正在编写一个自动过程来将文件从一个位置移动到共享驱动器。唯一的问题是每次运行可执行文件时文件名都会更改,所以我没有确切的文件名。我只有扩展名 .xls。我的目录中只有一个 .xls 文件。

我试过这样做

File.Copy(@"*.xls", @"\\serv44\Application\testing\name\test2\*.xls", true);

它抛出了一个错误,指出无效的名称。将文件移动到共享驱动器后。我想删除 .xls 文件。

File.Delete("*.xls");

任何帮助将不胜感激

最佳答案

你应该得到文件名,然后用那个文件做任何你想做的事。 IE。如果源目录中只有一个 xls 文件:

var targetDirectory = @"\\serv44\Application\testing\name\test2\";
var sourceFile = Directory.EnumerateFiles(sourceDirectory, "*.xls").FirstOrDefault();
if (sourceFile != null)
{
var sourceFileName = Path.GetFileName(sourceFile);
var targetFileName = Path.Combine(targetDirectory, sourceFileName);
File.Copy(sourceFileName, targetFileName);
File.Delete(sourceFileName);
}

注意:您可以使用单个移动 操作来代替复制和删除。

如果你想从你的源目录中移动多个文件,那么不要先处理一个循环中所有找到的文件:

 foreach(var sourceFile in Directory.EnumerateFiles(sourceDirectory, "*.xls"))
{
var sourceFileName = Path.GetFileName(sourceFile);
var targetFileName = Path.Combine(targetDirectory, sourceFileName);
File.Move(sourceFileName, targetFileName);
}

关于c# - 在不知道文件名的情况下将文件从一个位置移动到另一个位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44446395/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com