在目录中搜索具有特定字符的文件名的最快方法?

在目录中搜索具有特定字符的文件名的最快方法?

我有一个目录,其中包含子文件夹,这些子文件夹包含来自许多不同用户的文件,这些文件的名称非常不同,因此它们的命名不太一致。我将这个目录移动到一个 SharePoint 站点,该站点不允许某些字符作为文件名,因为它的设计方式是保留字符。

Invalid chars: " # % & * : < > ? \ / { | } ~

参考自: http://www.thesug.org/mossasaurus/Wiki%20Pages/SharePoint%20Invalid%20Characters.aspx

正如您所见,我需要查找许多字符,我可以通过肉眼浏览许多文件夹和数百个文件来查找每个无效字符,但是有没有更快的方法可以让我搜索包含子文件夹及其内容的主文件夹以查找每个或所有字符,以便只显示带有错误字符的文件夹和文件?

感谢您的时间,

答案1

这应该对你有用:

dir *#* *%* *^&* *{* *}* *~*  /s /b > bad_file_names.txt

这应该会找出包含错误字符的文件,并将它们转储到一个整洁的文本文件列表中。我省略了在 Windows 上应该已经无效的字符(我假设您运行的是 Windows,以及 SharePoint 服务器)。

答案2

尝试类似特工搜捕或者温格雷普搜索正则表达式模式:

["#%&*:<>?\/{|}~]

相关内容