用2003写的斗团,以下是核心代码:
private void Rename(string folderPath)
{
string fileName = "unnamed"
string fileExtension = ""
System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(folderPath)
foreach(System.IO.FileSystemInfo fsi in di.GetFileSystemInfos())
{
if(fsi is System.IO.DirectoryInfo)
{
Rename(fsi.FullName)
}
else
{
fileName = fsi.Name
int lastDot = fileName.LastIndexOf('.')
if(lastDot != -1) //这样 *** 作,可以处理没有扩展名的文件
{
fileExtension = fileName.Substring(lastDot)//取得文件扩展名
fileName = fileName.Substring(0,lastDot) //get file name without extension.
}
fileName = System.Text.RegularExpressions.Regex.Replace(fileName,this.txtRegex.Text.Trim(),this.txtReplace.Text.Trim())
fileName += fileExtension
try
{
if(fileName == fsi.Name) continue//文件名没有改变.
System.IO.File.Move(fsi.FullName,folderPath + "\\" + fileName)
this.listBox.Items.Add(fsi.Name + "\t\t moved to \t\t" + fileName)
}
catch
{
//throw
this.listBox.Items.Add(fsi.Name + "\t\拿拆t can't move to \t\t" + fileName)
}
}
}// end foreach
}//end method
表达式(txtRegex.Text):\[\d+\]] txtReplace.Text 为"";结果如下
1516178994_483324109c_s[1].jpg moved to 1516178994_483324109c_s.jpg
1554855298_e1a68da37c_s[1].jpg moved to 1554855298_e1a68da37c_s.jpg
aiga-25[1].gif moved to aiga-25.gif
bg-top[1].gif moved to bg-top.gif
//获取当前进程的完整路径,包含文件名燃配(进程名)。string str = this.GetType().Assembly.Location
result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名)
//获取新的 Process 组件并将其与当前活动的进程关联的主模块的完整路径,包含文件名(进程名)。
string str = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName
result: X:\皮孝指xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名)
//获取和设置当前目录(即该进程从中启动的目录)的完全限定路径。
string str = System.Environment.CurrentDirectory
result: X:\xxx\xxx (.exe文件所在的目录)
//获取当前 Thread 的当前应用慎辩程序域的基目录,它由程序集冲突解决程序用来探测程序集。
string str = System.AppDomain.CurrentDomain.BaseDirectory
result: X:\xxx\xxx\ (.exe文件所在的目录+"\")
//获取和设置包含该应用程序的目录的名称。(推荐)
string str = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase
result: X:\xxx\xxx\ (.exe文件所在的目录+"\")
//获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。
string str = System.Windows.Forms.Application.StartupPath
result: X:\xxx\xxx (.exe文件所在的目录)
//获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。
string str = System.Windows.Forms.Application.ExecutablePath
result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名)
//获取应用程序的当前工作目录(不可靠)。
string str = System.IO.Directory.GetCurrentDirectory()
result: X:\xxx\xxx (.exe文件所在的目录)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)