怎样将一个文件夹从服务器上移动到本地机器
怎样将一个文件夹从服务器上移动到本地机器 --------------------编程问答-------------------- 不行,就在服务器做个服务程序,对目标文件夹打包,然后下载 --------------------编程问答-------------------- 磁盘映折呀 --------------------编程问答-------------------- 磁盘映折怎么做? --------------------编程问答-------------------- 有没有别的方法阿 --------------------编程问答-------------------- 有,你用FTP将服务器上的要想的文件夹载到本机不就行了。我上个月就有用到过。那时候还写了一个Windows服务程序用来监视服务器上指定根目录下有没有生成新的文件夹,如果有的话就把它FTP到另一台机子保证文件的同步。像你的情况,好像更简单些。下面是我的从服务器上传到另一台机用的部份代码(事先我已经建好了FTP目录),你的情况是下载到本机类似:只是一个大致思路,具体的话你得自己试着调试.
string FtpServer = "127.0.0.1";//要上传到的目标机地址
string FtpDir ="/" ;//目标机目录.比方目标机FTP目录是C:\Inetpub\ftproot 此处用"/"则表示将文件上传到该目录下
string FtpUserId = "administrator";//FTP用户名 此用户必须有读取和写入的权限
string FtpPw = "1";//FTP密码
int FtpPort = 21;//FTP端口号
string UploadFile =@"E:\NetWindow\Files\XLSModel\ReportFile\" + NowDate;//本地要上传的文件地址,注意地址最后不要写\,否则ftp时会出错
FTP myftp = new FTP(FtpServer, FtpDir, FtpUserId, FtpPw, FtpPort);
myftp.Connect();
if (myftp.Connected)
{
try
{
myftp.Put(UploadFile, "*", true); // 上传到另一台机中
}
catch {}
finally
{
myftp.DisConnect();
}
} --------------------编程问答-------------------- 是移动文件夹及所有子文件夹,和文件。
解决立即结账。 --------------------编程问答-------------------- 迫不得已用递归
public int moveImage(string oldPath, string newPath, DateTime dt1, DateTime dt2)
{
int flag = 0;
try
{
DirectoryInfo dir = new DirectoryInfo(oldPath);
DirectoryInfo[] dirinfo = dir.GetDirectories();
foreach (DirectoryInfo dirs in dirinfo)
{
string dname = dirs.Name;//获取目录名
try
{
DateTime d = DateTime.Parse(dname);
if (d >= dt1 && d <= dt2)
{
flag = 1;
Directory.CreateDirectory(newPath+"\\"+dname);
//遍历文件夹下的所有子文件夹及文件
ListFiles(dirs, oldPath + "\\" + dname, newPath+"\\"+dname);
}
}
catch (Exception exp)
{ //MessageBox.Show(exp.Message);
}
}
return flag;
}
catch (Exception exp)
{
MessageBox.Show(exp.Message);
return 2;
}
}
/// <summary>
/// 递归备份文件
/// </summary>
/// <param name="dirinfo">符合条件的目录或目录组</param>
/// <param name="olddirPath">要备份的目录</param>
/// <param name="newdirPath">新目录</param>
private void ListFiles(DirectoryInfo dirinfo,string olddirPath,string newdirPath)
{
if (!dirinfo.Exists) return;
DirectoryInfo[] dirs = dirinfo.GetDirectories();//返回所有子目录
FileInfo[] files = dirinfo.GetFiles();//返回所有文件
//存在文件
if (files.Length >0)
{
foreach (FileInfo f in files)
{
string filename = f.Name; //获取文件名
f.MoveTo(newdirPath+"\\"+filename);
}
}
//存在目录
if (dirs.Length >0)
{
foreach (DirectoryInfo d in dirs)
{
string dirname = d.Name;
Directory.CreateDirectory(newdirPath+"\\"+dirname);//创建目录
ListFiles(d, olddirPath, newdirPath + "\\" + dirname);
}
}
}
--------------------编程问答-------------------- 楼上的办法可行
补充:.NET技术 , C#