C#修改文件名(单个,一个文件夹下所有文件,插入方式)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 ); }
}