| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1796 人关注过本帖
标题:把不同文件夹下相同文件名,不同格式的文件移动到新的文件夹下
只看楼主 加入收藏
aubblove
Rank: 1
等 级:新手上路
帖 子:117
专家分:0
注 册:2007-8-18
收藏
 问题点数:0 回复次数:4 
把不同文件夹下相同文件名,不同格式的文件移动到新的文件夹下

D:\移动文件\车辆技术: FEA与试验相结合的车门结构设计方法研究.pdf
半挂牵引车自动变速器换档策略研究.pdf
参数化设计方法在内燃机设计中的应用研究.pdf
...

D:\移动文件\车辆技术参考文献: FEA与试验相结合的车门结构设计方法研究.txt
半挂牵引车自动变速器换档策略研究.txt
参数化设计方法在内燃机设计中的应用研究.txt
...
程序运行后,结果为:

D:\移动文件\FEA与试验相结合的车门结构设计方法研究: FEA与试验相结合的车门结构设计方法研究.pdf
FEA与试验相结合的车门结构设计方法研究.txt

D:\移动文件\半挂牵引车自动变速器换档策略研究: 半挂牵引车自动变速器换档策略研究.pdf
半挂牵引车自动变速器换档策略研究.txt

D:\移动文件\参数化设计方法在内燃机设计中的应用研究: 参数化设计方法在内燃机设计中的应用研究.pdf
参数化设计方法在内燃机设计中的应用研究.txt

.....

说明:车辆技术文件夹下有10篇PDF文件,车辆技术参考文献文件夹下有10篇txt文件,篇名都是相对应的,把PDF和TXT一样文件名的文件单独放在新的文件夹,这个新的文件夹名称和文件的名称一致。(如上所示)这样的功能如何用C#实现。

搜索更多相关主题的帖子: 自动变速器 文件名 格式 pdf 燃机 
2007-10-17 15:18
aubblove
Rank: 1
等 级:新手上路
帖 子:117
专家分:0
注 册:2007-8-18
收藏
得分:0 

我写的是用笨方法,一个个指定文件名进行移动,结果是一样的,只是没有可操作性。大家有没有好的方法?

private void button2_Click(object sender, EventArgs e)
{

if (!Directory.Exists("D:\\移动文件\\FEA与试验相结合的车门结构设计方法研究"))
{
Directory.CreateDirectory("D:\\移动文件\\FEA与试验相结合的车门结构设计方法研究");
}
string path = @"D:\移动文件\车辆与动力技术\FEA与试验相结合的车门结构设计方法研究.pdf";
string path2 = @"D:\移动文件\FEA与试验相结合的车门结构设计方法研究\FEA与试验相结合的车门结构设计方法研究.pdf";

if (!File.Exists(path))
{

using (FileStream fs = File.Create(path)) { }
}

if (File.Exists(path2))
File.Delete(path2);

// Move the file.
File.Move(path, path2);

string path3 = @"D:\移动文件\车辆与动力技术参考文献\FEA与试验相结合的车门结构设计方法研究.txt";
string path4 = @"D:\移动文件\FEA与试验相结合的车门结构设计方法研究\FEA与试验相结合的车门结构设计方法研究.txt";

if (!File.Exists(path3))
{

using (FileStream fs = File.Create(path3)) { }
}

if (File.Exists(path4))
File.Delete(path4);

// Move the file.
File.Move(path3, path4);

if (!Directory.Exists("D:\\移动文件\\半挂牵引车自动变速器换档策略研究"))
{
Directory.CreateDirectory("D:\\移动文件\\半挂牵引车自动变速器换档策略研究");
}
string path5 = @"D:\移动文件\车辆与动力技术\半挂牵引车自动变速器换档策略研究.pdf";
string path6 = @"D:\移动文件\半挂牵引车自动变速器换档策略研究\半挂牵引车自动变速器换档策略研究.pdf";


// Move the file.
File.Move(path5, path6);



string path7 = @"D:\移动文件\车辆与动力技术参考文献\半挂牵引车自动变速器换档策略研究.txt";
string path8= @"D:\移动文件\半挂牵引车自动变速器换档策略研究\半挂牵引车自动变速器换档策略研究.txt";


// Move the file.
File.Move(path7, path8);


}

2007-10-17 15:23
crazymk
Rank: 1
等 级:新手上路
威 望:1
帖 子:343
专家分:0
注 册:2007-8-30
收藏
得分:0 
把所有文件的全路徑文件名放到一個arraylist裡,然後對arraylist做循環如下:
foreach (object objFile in arrFile)
{
string strPath = @"D:\移动文件";
string[] arrName = objFile.ToString().Split('.');
if (!Directory.Exists(strPath + arrName[0].Substring(arrName[0].LastIndexOf('\\'))))
{
Directory.CreateDirectory(strPath + arrName[0].Substring(arrName[0].LastIndexOf('\\')));
}
File.Copy(objFile.ToString(), strPath + arrName[0].Substring(arrName[0].LastIndexOf('\\')) + objFile.ToString().Substring(objFile.ToString().LastIndexOf('\\')), true);}
注意:arraylist中放的是全路徑名
D:\移动文件\车辆技术参考文献\FEA与试验相结合的车门结构设计方法研究.txt

[此贴子已经被作者于2007-10-17 16:41:01编辑过]


すばらしいコードを書き出すのは楽しい事です
2007-10-17 16:38
aubblove
Rank: 1
等 级:新手上路
帖 子:117
专家分:0
注 册:2007-8-18
收藏
得分:0 
怎么得到它的全路径文件名呢?
是不是GetFiles("*.*")和GetDirectories()结合起来用呢?
2007-10-17 17:22
aubblove
Rank: 1
等 级:新手上路
帖 子:117
专家分:0
注 册:2007-8-18
收藏
得分:0 

我把代码更改成这样了,其中if (!Directory.Exists(strPath + arrName[0].Substring(arrName[0].LastIndexOf('\\'))))这句报错,提示:StartIndex 不能小于 0,这是什么原因呢?

private void GetDirectories(DirectoryInfo info, TreeNode nodeToAddTo)
{
ArrayList arrFile = new ArrayList();
TreeNode aNode;

foreach (FileInfo f in info.GetFiles("*.*"))
{
nodeToAddTo.Nodes.Add( f.ToString());
}

foreach (DirectoryInfo subDir in info.GetDirectories())
{
aNode = new TreeNode(subDir.Name, 0, 0);
aNode.Tag = subDir;

if (subDir.GetDirectories().Length != 0 || subDir.GetFiles("*.*").Length != 0)
{
GetDirectories(subDir, aNode);
}
nodeToAddTo.Nodes.Add(aNode);
arrFile.Add(aNode);
}
foreach (object objFile in arrFile)
{
string strPath = @"D:\移动文件";
string[] arrName = objFile.ToString().Split('.');
if
(!Directory.Exists(strPath + arrName[0].Substring(arrName[0].LastIndexOf('\\'))))
{
Directory.CreateDirectory(strPath + arrName[0].Substring(arrName[0].LastIndexOf('\\')));
}
File.Copy(objFile.ToString(), strPath + arrName[0].Substring(arrName[0].LastIndexOf('\\')) + objFile.ToString().Substring(objFile.ToString().LastIndexOf('\\')), true);
}

2007-10-18 09:33
快速回复:把不同文件夹下相同文件名,不同格式的文件移动到新的文件夹下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033839 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved