我想用C#重命名目录中的文件夹,我写下代码:
for (int i = 0; i < datagridview.Rows.Count; i++)
{
System.IO.Directory.Move(@"E:\scan\" + datagridview.Rows[i].Cells[0].Value, @"E:\scan\" + datagridview.Rows[i].Cells[1].Value);
}
单元格0是数字,单元格1是名称 我想用名称替换号码
如果文件夹在datagridview中存在相同的数字,则ok,否则如果不存在(number)则发生异常 我想如果不存在datagridview中具有相同编号的目录中的文件夹,则继续结束。
答案 0 :(得分:0)
您正在寻找Directory.Exists(string)
method。
此外,为简洁起见,您可能希望导入System.IO
命名空间。请参阅using
directive。
for (int i = 0; i < datagridview.Rows.Count; i++)
{
var sourceFolder = @"E:\scan\" + datagridview.Rows[i].Cells[0].Value;
var destinationFoler = @"E:\scan\" + datagridview.Rows[i].Cells[1].Value;
if (Directory.Exists(sourceFolder))
{
Directory.Move(sourceFolder, destinationFolder);
}
else
{
// Warn the user. E.g.
// MessageBox.Display("Directory not found.");
}
}
答案 1 :(得分:0)
检查目录是否存在System.IO.Directory.Exists(directoryPath)。 在您的情况下,代码将是:
for (int i = 0; i < datagridview.Rows.Count; i++)
{
if (System.IO.Directory.Exists(@"E:\scan\" + datagridview.Rows[i].Cells[0].Value))
{
System.IO.Directory.Move(@"E:\scan\" + datagridview.Rows[i].Cells[0].Value, @"E:\scan\" + datagridview.Rows[i].Cells[1].Value);
}
else
{
break;
}
}