C#修改文件名(单个,一个文件夹下所有文件,插入方式)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

private void bt_ModifyName_Click ( object sender , EventArgs e )

{

OpenFileDialog dlg = new OpenFileDialog ( );

dlg.AddExtension = false;

dlg.Filter = "所有文件(*.*)|*.*";

if ( dlg.ShowDialog ( ) == DialogResult.OK )

{

try

{

if ( cb_ModifyType.Checked )//单个修改

{

ModifyFileName ( dlg.FileName );

}

else //修改所有文件

{

FileInfo fInfo=new FileInfo ( dlg.FileName );

string[] filename=Directory.GetFiles ( fInfo.Directory.ToString ( ) );

string fileCount = filename.Length.ToString ( );

if ( MessageBox.Show ( "一定要修改\r[ " +fileCount+" ] 个文件的名字吗?", "修改提示" , MessageBoxButtons.OKCancel , MessageBoxIcon.Warning ) == DialogResult.OK )

{

foreach ( string sFile in filename )

{

ModifyFileName ( sFile );

}

}

}

}

catch ( Exception ex ) { WriteExceptionInfo ( ex ); }

}

}

///



/// 通过路径 取文件名

///


public string TakeFileName ( string filePath )

{

int iTmp =0;

string sFile ="";

iTmp = stIndexOf ( '\\' );


if ( filePath.IndexOf ( ':' ) != 1 ) //如果传入的是路径,第2个字符一定要是“:”

return sFile;

if ( filePath.IndexOf ( '\\' ) != 2 ) //如果传入的是路径,第3个字符一定要是“\”

return sFile;


sFile = filePath.Substring ( iTmp + 1 );


iTmp = stIndexOf ( '.' );

sFile = sFile.Substring ( 0 , iTmp );

return sFile;

}

///

/// 通过文件名 取后缀

///


public string TakePostfix ( string fileName )

{

int iTmp =0;

string sFile ="";

iTmp = stIndexOf ( '.' );

if ( iTmp <= 0 ) return sFile;

sFile = fileName.Substring ( iTmp );//后缀

return sFile;

}

///

/// 修改文件名 sFilePath=文件路径

///


public void ModifyFileName (string sFilePath)

{

try

{

string sName = TakeFileName ( sFilePath ); //无后缀

string sPostfix = TakePostfix

( sFilePath );//后缀

string sNewFileName ="";//新文件名


if ( cb_Insert.Checked )//替换

{ sNewFileName = tb_FileName.Text.Trim ( ); }

else //插入

{

if ( ( int ) nud_InsertPlace.Value > sName.Length )

sNewFileName = sName + tb_FileName.Text.Trim ( );

else

{

sNewFileName = sName.Insert ( ( int ) nud_InsertPlace.Value , tb_FileName.Text.Trim ( ) );

}

}



FileInfo fInfo=new FileInfo ( sFilePath );

string sFileName = fInfo.Directory + @"\" + sNewFileName + sPostfix;

System.IO.File.Move ( sFilePath , sFileName );

lb_Info.Items.Insert ( 0 , "操作成功!" );

}

catch ( Exception ex ) { WriteExceptionInfo ( ex ); }

}

相关文档
最新文档