ディスクに書き込む前にファイル名をチェックするツールはありますか?

ディスクに書き込む前にファイル名をチェックするツールはありますか?

特定のフォルダー内のファイル名をチェックして、それらのファイルを DVD または光学メディアに書き込むときにエラーが発生しないようにするソフトウェアはありますか?

私はいつもコレクション用にさまざまな種類のファイルを書き込んでいますが、Nero を使用するとファイル名の変更エラーが発生することがよくあります。これらのエラーが発生しても、ファイルはディスクに書き込まれるのでしょうか?

Nero や他のアプリケーションで、ディスクに書き込む前にファイル名をチェックする別のツールはありますか。ファイルをすでにディスクに書き込んでいるのに、アプリケーションからエラーが通知されるのは本当に困ります。ディスクに書き込む前に、どのファイルの名前を変更すべきかを知って、無駄にしないようにしたいです。

答え1

お使いのオペレーティングシステムについては触れられていないので、POSIX ツールを使った解決策を紹介します。POSIX ツールは主要なオペレーティングシステムで利用可能です。POSIX ツールはすべての Unix 系システムで利用可能ですが、Windows では別途インストールする必要があります (Microsoft の Unix 向けサービスシグウィンGNU Win32 ユーティリティマイシス、…)。

コマンドfind¹ は、ディレクトリとそのサブディレクトリを再帰的に検索し、特定の条件に一致するファイルを探します。たとえば、次のコマンドは、名前に:;、のいずれかの文字が含まれ"、長さが 64 文字を超える現在のディレクトリ下のファイルを表示します。

find . -name '*[:;"]*' -o -name '?????????????????????????????????????????????????????????????????*'

¹ POSIX のもの。Windows には同じ名前の無関係なコマンドがあります。

答え2

上記のコマンド(よりきれいな方です ;) を Ubuntu 20.04(WSL 2 経由で Wi​​n10 でホスト)で実行しようとしましたが、成功しませんでした。そこで、次のコマンドを提案します。

64 より大きいファイル名 (パスを除く) を検索するには:

find . -name '*[:;"]*' -o -regextype grep -regex '.*/[^/]\{64,\}'

64 より大きいファイル名 (パスを含む) を検索するには:

find . -name '*[:;"]*' -o -regextype grep -regex '\./.\{64,\}'

関連情報