![特定の文字を含むファイル名をディレクトリで検索する最も速い方法は何ですか?](https://rvso.com/image/1346179/%E7%89%B9%E5%AE%9A%E3%81%AE%E6%96%87%E5%AD%97%E3%82%92%E5%90%AB%E3%82%80%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%90%8D%E3%82%92%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%81%A7%E6%A4%9C%E7%B4%A2%E3%81%99%E3%82%8B%E6%9C%80%E3%82%82%E9%80%9F%E3%81%84%E6%96%B9%E6%B3%95%E3%81%AF%E4%BD%95%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
ディレクトリにはサブフォルダがあり、その中にはさまざまなユーザーが作成した非常に多様な名前のファイルが含まれているため、名前の一貫性があまりありません。このディレクトリを SharePoint サイトに移動していますが、このサイトでは、特定の文字が予約文字として設計されているため、ファイル名として使用できません。
Invalid chars: " # % & * : < > ? \ / { | } ~
参照元: http://www.thesug.org/mossasaurus/Wiki%20Pages/SharePoint%20Invalid%20Characters.aspx
ご覧のとおり、探さなければならない文字がたくさんあります。多数のフォルダーと数百のファイルを調べて、無効な文字を目で探して探すこともできますが、サブフォルダーとその内容を含むマスターフォルダーでこれらの文字のそれぞれまたはすべてを検索して、無効な文字を含むフォルダーとファイルだけを表示するより速い方法はありますか?
お時間をいただきありがとうございました。
答え1
これでうまくいくはずです:
dir *#* *%* *^&* *{* *}* *~* /s /b > bad_file_names.txt
これにより、不正な文字を含むファイルが取得され、簡潔なテキスト ファイル リストにダンプされます。Windows で既に無効であるはずの文字は省略しました (SharePoint サーバーで Windows を実行していると想定しています)。
答え2
次のようなことを試してみてくださいエージェント・ランサックまたはウィングレップ正規表現パターンを検索するには:
["#%&*:<>?\/{|}~]