string[] a=Directory.GetFiles("e:\\a\\","*.gif");//获取e:\a\下面的所有文件主在数组a中;
Response.Write(a[0].ToString());
FileInfo ab=new FileInfo(a[0]);//新建一个文件实例
ab.CopyTo("e:\\a\\a.jpg");//创建别一个文件(改名字);
ab.Delete();//删除不要的文件;
//搞定,给分,呵呵,有问题加我QQ39758551
上面是我的方法,你用一个循环就可以了,根据你的意思,你还得做一些字符串处理操作,
Response.Write(a[0].ToString());
FileInfo ab=new FileInfo(a[0]);//新建一个文件实例
ab.CopyTo("e:\\a\\a.jpg");//创建别一个文件(改名字);
ab.Delete();//删除不要的文件;
//搞定,给分,呵呵,有问题加我QQ39758551
上面是我的方法,你用一个循环就可以了,根据你的意思,你还得做一些字符串处理操作,
解决方案 »
- 很迷惘的一个winform Socket外网点对点传送文件的问题
- 在wince 5.0下 UDP怎么设置接收超时时间呢?
- DataGridViewComBoxCell 值无效(Winform中)
- ZedGraph 曲线图问题
- 大家讨论一下,在WEB方式中,如果变量比较多(20~30个),使用何种方式进行页面传递更合适
- java中的">>>"在c#中如何实现
- .NET中,如何用xslt文件来改变一个xml文件到另外一种xml文件?
- 请各位高手及斑竹进来会诊。。。。。。。。。。。。。。。。。。。。。。。。。。。郁闷呀!!!
- 求哪位能把这个函数转为delphi吗?
- 高分请教!!!不够的话再加
- 那里有Visual Studio .net 7.0 Beta1 C# IDE开发环境?
- 如何发布C#编写的应用程序?如何制作安装包?
using System.IO;
using System.Text;
就行了。
注意:如果是某逻辑盘根目录,后面要带\\.
public static void ProcessDir(string dir)
{
string[] files = Directory.GetFiles(dir);
FileInfo fi;
string fn;
string temp;
foreach(string file in files)
{
//...
fi = new FileInfo(file);
fn=fi.Name.TrimEnd(fi.Extension.ToCharArray());
temp=fi.DirectoryName+@"\"+(fn.Length>3?fn.Remove(0,3):fn).TrimEnd(fi.Extension.ToCharArray())+".jpg";
if(File.Exists(temp))
temp="(1)"+temp;
File.Move(file,temp);
}
string[] dirs = Directory.GetDirectories(dir);
if(dirs.Length==0)
return;
foreach(string subdir in dirs)
{
ProcessDir(subdir);
}
}
用Copy然后Delete不行的,如果文件比较大,磁盘开销很大的。
用Move不会做拷贝操作。
把相关的那行改成这个:temp=fi.DirectoryName+@"\"+fn.Length>3?fn.Remove(0,3):fn+".jpg";------------
public static void ProcessDir(string dir)
{
string[] files = Directory.GetFiles(dir);
FileInfo fi;
string fn;
string temp; foreach(string file in files)
{
//...
fi = new FileInfo(file);
fn=fi.Name.TrimEnd(fi.Extension.ToCharArray());
temp=fi.DirectoryName+@"\"+fn.Length>3?fn.Remove(0,3):fn+".jpg";
if(File.Exists(temp))
temp="(1)"+temp;
//File.Move(file,temp);
File.Copy(file,temp);
File.Delete(file);
} string[] dirs = Directory.GetDirectories(dir);
if(dirs.Length==0)
return; foreach(string subdir in dirs)
{
ProcessDir(subdir);
}
}
我还没做过对文件操作的程序呢,
看到了这个贴子
然后就写了一下,结果呵呵
nerk(无) ( ) 说得没错啊
谢谢提醒
呵呵
刚才贴了2遍都贴错了:)//shy第一个foreach段:
foreach(string file in files)
{
//...
fi = new FileInfo(file);
fn=fi.Name.TrimEnd(fi.Extension.ToCharArray());
temp=fi.DirectoryName+@"\"+fn.Length>3?fn.Remove(0,3):fn+".jpg";
if(File.Exists(temp))
temp="(1)"+temp;
File.Move(file,temp);
}
刚才贴了2遍都贴错了:)//shy第一个foreach段:
foreach(string file in files)
{
//...
fi = new FileInfo(file);
fn=fi.Name.TrimEnd(fi.Extension.ToCharArray());
temp=fi.DirectoryName+@"\"+(fn.Length>3?fn.Remove(0,3):fn)+".jpg";
if(File.Exists(temp))
temp="(1)"+temp;
File.Move(file,temp);
}
string dir="c:\\downloads\\bmp";
string[] files = Directory.GetFiles(dir);
FileInfo fi;
string fn;
string temp; foreach(string file in files)
{
//...
fi = new FileInfo(file);
fn=fi.Name.TrimEnd(fi.Extension.ToCharArray());
temp=fi.Name.Remove(0,16)+".jpg";
textBox1.Text =temp;
textBox2.Text =fi.Name ;
if(File.Exists(temp))
File.Move(file,temp);
}
我把这段放在一个按钮里面的,我就是想,一点某个按钮,这些功能就完成了,请大侠们赐教!在线等待!
ProcessDir("D:\\Temp\\");
{
string[] files = Directory.GetFiles(dir);
FileInfo fi;
string fn;
string temp; foreach(string file in files)
{
//...
fi = new FileInfo(file);
fn=fi.Name.TrimEnd(fi.Extension.ToCharArray());
temp=fi.DirectoryName+@"\"+(fn.Length>3?fn.Remove(0,3):fn)+".jpg";
if(File.Exists(temp))
temp="(1)"+temp;
File.Move(file,temp);
} string[] dirs = Directory.GetDirectories(dir);
if(dirs.Length==0)
return; foreach(string subdir in dirs)
{
ProcessDir(subdir);
}
}
-----
if(File.Exists(temp))
temp="(1)"+temp;
是用来判断你改动后的文件名是否存在,如果存在就改个名字。