如何在 Windows Server 2008 R2 中搜索名称中带有波浪号的文件?

如何在 Windows Server 2008 R2 中搜索名称中带有波浪号的文件?

我有一个关于在 Windows Server 2008 R2 中搜索文件的问题。我们正在自动化 Excel(不要问),当它失败时会留下扩展名为 .XLS 的临时文件~

如果我手动搜索 *.xls~,Server 2008 似乎将波浪号视为通配符并返回所有 *.xls 文件,这当然不是我想要的。

有人能告诉我如何进行搜索才能找到正确的文件吗?有没有转义字符可以使用?有人告诉我使用双引号并尝试搜索 *."xls~",但不起作用。

答案1

“~”字符是高级查询语法由 Windows Search 使用。

它本身表示搜索包含通配符,例如System.FileName:~"Mic?osoft W*d"匹配文件名Microsoft Word

要完全匹配“*.xls~”文件名,您需要搜索System.Filename:~"*.xls~"

我的旧的,不太了解的答案,我保留它只是因为管道传输到剪贴板的新颖性,它是:

我会打开命令提示符并执行dir /b /s/a x:\*.xls~(替换相应的驱动器号)。如果您想要剪贴板上的列表,请| clip在命令中添加。您不会在漂亮的资源管理器视图中看到文件,但会得到一个列表。

如果您想在不离开 GUI 的情况下执行此操作,只需打开“运行”框并输入cmd /c dir /s /a /b x:\*.xls~ | clipcmd.exe窗口关闭后,您的结果就会出现在剪贴板上。

答案2

假设您正在谈论 Windows Search,请尝试~*".xls~" 这也有助于使用括号,例如~*"(1).xls"

答案3

~在 PowerShell 中不是通配符,因此:

dir startingPath -recurse -filter '*.xls~'

相关内容