csharp [ファイル移动と自动リネーム] #ExtensionMethod

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp [ファイル移动と自动リネーム] #ExtensionMethod相关的知识,希望对你有一定的参考价值。

/// <summary>
/// ファイルが存在する場合はリネームして移動します。
/// </summary>
/// <param name="fileInfo">現在のファイル情報</param>
/// <param name="destFileName">移動先ファイル名</param>
/// <param name="renameWhenExists">ファイルが存在する場合にリネームするか</param>
public static void MoveTo(this FileInfo fileInfo, string destFileName, bool renameWhenExists = false)
{
  string newFullPath = string.Empty;
  
  if (renameWhenExists)
  {
    int count = 1;
    
    string fileNameOnly = Path.GetFileNameWithoutExtension(fileInfo.FullName);
    string extension = Path.GetExtension(fileInfo.FullName);
    newFullPath = Path.Combine(destFileName, fileInfo.Name);
    
    while (File.Exists(newFullPath))
    {
      string tempFileName = string.Format("{0}({1})", fileNameOnly, count++);
      newFullPath = Path.Combine(destFileName, tempFileName + extension);
    }
  }
  
  fileInfo.MoveTo(renameWhenExists ? newFullPath : destFileName);
}

/**
 * e.g.
 */
// FileInfo fileInfo = new FileInfo(@"c:¥test¥txt");
// File.Create(fileInfo.FullName).Dispose();
// fileInfo.MoveTo(@"d:¥", true);

以上是关于csharp [ファイル移动と自动リネーム] #ExtensionMethod的主要内容,如果未能解决你的问题,请参考以下文章

csharp 毎日作成するファイルを自动リネームする

html フォームでのファイルの选択と同时にアップロード开始(jQuery form plugin)

sh ファイル名に含まれる空白文字をアンダースコアに変更してリネームするシェルスクリプト

ruby 维基百科とHatena的のキーワードファイルから仲裁处の辞书フォーマット(CSV)に変换するスクリプト。

sh ドットファイルごと全部移动

csharp 统一のシーンファイルリストウィンドウ。全てのシーン,ビルド登录シーンを切り替え可。