Help us understand the problem. What is going on with this article?

C#のみを使って、変更前後の差分表示のできる、ファイル名変更ソフトを作った。

概要

2020年にもなってファイル名変更ソフトを新しく作りました。名前はFileRenamerDiffです。
この記事では、作った動機とソフトの機能紹介をします。
C#/.NET Core/WPFで作成しました。使用した技術などは別の記事にする予定です。
C#のみと書きつつ、XAMLも使っていますが、ビルド時にC#になっていますので、良しとしておきます。

image.png

なぜ作ったか

ファイル名変更ソフトを使ったことのあるかたは多いと思います。私自身も今までは別のソフトウェアを使っていました。
ただ、その中でいくつかの不満があり、それに対応したソフトウェアが見つかりませんでした。
具体的には以下のようなものです。

  • 変更前後での差分表示:ファイル名が長い場合にどこが変わったかの確認が大変だった
  • 重複判定:プレビューで確認してから、ファイル名変更時にファイル名重複で処理が中断するとツライ
  • 設定パターン数の制限:削除&置換パターンの数に制限があると何回も設定を変えて処理する必要がある。
  • デザイン:ユーティリティソフトにありがちな灰色ばっかの画面は好きになれない

そこで、これらの不満を解消したソフトを自分で新しく作ることにしました。

機能紹介

基本的な使い方は以下のとおりです。

  1. ファイル名を変更したいフォルダをドラッグアンドドロップまたはダイアログで指定
  2. ファイル名の削除・置換パターンを指定
  3. プレビューで変更内容を確認
  4. 実際にファイル名を保存

変更前後での差分表示

ファイル名変更前後での差分をGitのDiffっぽく表示しました。ソフト名通りにこれが一番作りたかった機能です。

screenshot2.png

制限数なしの正規表現による削除&置換パターン

制限数なしで削除&置換パターンを作れます。正規表現も使えます。

image.png

変更後のファイル名重複判定

プレビュー時点でファイル名の重複を判定して、警告してくれる機能です。
重複があるままだと、保存できません。

screenshot3.png

その他の機能

Light/Darkテーマ切り替え

設定でLightテーマ、Darkテーマを切り替えできます。
screenshot_Dark-Light.png

任意のファイルをエクスプローラーで開く機能

重複判定時などに、このファイル名だけ手直ししたい、といった時にそのファイルのディレクトリをエクスプローラーで開く機能です。
image.png

よく使うパターン集

削除・置換でよく使うパターン集です。これはまだ数が少ないので、これから増やしていきます。

image.png

ファイル・フォルダをリネーム対象にするか選択可能

ファイルだけorフォルダだけリネームしたい時があるので選択できるようにしました。

拡張子での除外判定

iniファイルなど、特定の拡張子をリネーム対象から除外する機能です。

変更あり・重複ありのみ表示

変更のあるファイル名だけ・重複のあるファイル名だけ、に表示をしぼりこむ機能です。

image.png

多言語対応

英語・日本語・中国語・ロシア語・ドイツ語に対応しています。
基本はDeepLです。
英語と中国語はなんとなく分かるから、ドイツ語とロシア語は知り合いに聞ける人がいるから選びました。

Microsoftストアでの公開

一度やってみたかった。思ったよりも簡単でした。この方法などは後日記事にします。

ダウンロード

ソフトウェアは以下の場所から入手できます。

Microsoft Store (Windows 10 のみ)

Microsoft Store

Portable version (Windows 7以降)

GitHub RELEASEの最新版からどうぞ.

  • FileRenamerDiff_app_win-x64~ は x64(64bit) OS用
  • FileRenamerDiff_app_win-x86~ は x86(32bit) OS用

まとめ

自分が欲しかったソフトを作ってみました。よかったら使ってみてください。
使ってみた感想、バグや機能要望などがあれば、ここのコメント欄やGitHubのIssueに書いてくれると嬉しいです。

soi
ソフトウェアエンジニア C#, Xaml チョットワカル
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした