【问题标题】:Windows: File List with Wildcard in filename [closed]Windows:文件名中带有通配符的文件列表[关闭]
【发布时间】:2021-06-07 19:12:39
【问题描述】:

谁能给我解释一下为什么?从屏幕截图中,您可以看到我在当前目录中有一些 csv 文件。命令:dir .csv 或 dir ".csv" 无法正常工作。但是,类似的东西: dir **.csv、dir ?*.csv、dir .csv 正在工作。他们都可以列出我正在寻找的文件。为什么?

【问题讨论】:

  • 这不是 PowerShell 问题。这是用户对文件系统期望的误解,因为使用任何 shell(cmd.exe、PowerShell、Python 等)都会遇到同样的问题。试试吧。从 PowerShell 调用 cmd.exe cmd /c 'dir D:\Temp\.csv' 或打开 cmd.exe 并执行 dir D:\Temp\.csv。错误将是cmd : File Not Found, 不要猜。始终,始终查看 PowerShell 帮助文件,内置示例是您的起点。 Get-help -Name Get-ChildItem -FullGet-Help -Name GFet-ChildItem -Examples.

标签: windows powershell file command-line


【解决方案1】:

如果您不熟悉 dxiv 所说的内容。 PowerShell 中的别名是指您实际上给命令一个昵称。在PowerShell中没有dir这样的命令,它只是命令Get-ChildItem的别名。

该命令的文档在这里:

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/get-childitem?view=powershell-7.1

如果您仔细阅读,您会发现在传递扩展名之前,您需要指定一个通配符作为文件名的替代。

一般来说,您需要通配符的原因是告诉您正在使用的语言在它之前应该有一些东西。通过键入.csv,您正在搜索字面上称为“.csv”的文件。不多也不少。 *.csv 中的通配符表示它应该查找任何以“.csv”结尾的结尾

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-03
    • 2011-05-15
    • 2015-06-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-21
    相关资源
    最近更新 更多