我知道这看起来很简单,我知道还有其他问题要问这个,但我只需要知道我个人做错了什么,为什么它不起作用,因为它应该。
int ImageCounter = 1;
foreach (var Image in ImageFilePaths)
{
{
// Console.WriteLine(Image);
// Console.WriteLine(RenameFolderPath + @"\" + ImageCounter + ".jpeg");
File.Move(Image, RenameFolderPath + @"\" + ImageCounter + ".jpeg");
ImageCounter++;
}
}
所以在一个文件夹中大约有150张图片,在运行之后,我剩下11张,其中10张编号为1-10,第11张留下了原来的名字。 如果我打印(图像)它将打印大约150个原始名称,如果我打印第二个写字线,它将打印完全相同但“1 - 约150”而不是原始名称。所以那里没有问题,它必须与file.move但我看不到任何错误
答案 0 :(得分:0)
不确定代码的其余部分是什么样的,但这对我有用:
void Main()
{
MoveFiles(@"c:\Temp\MoveTest", @"C:\Temp\MoveTest1");
}
public void MoveFiles(string fromDir, string toDir)
{
int ImageCounter = 1;
// Take a snapshot of the file system.
System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(fromDir);
IEnumerable<System.IO.FileInfo> ImageFilePaths = dir.GetFiles("*.*", System.IO.SearchOption.TopDirectoryOnly);
foreach (var Image in ImageFilePaths)
{
{
Console.WriteLine(Image);
Console.WriteLine(toDir + @"\" + ImageCounter + ".jpeg");
File.Move(Image.FullName, toDir + @"\" + ImageCounter + ".jpeg");
ImageCounter++;
}
}
}