【问题标题】:The command prompt does not handle wild cards correctly命令提示符无法正确处理通配符
【发布时间】:2017-01-21 10:49:32
【问题描述】:

据我了解,命令 dir C:\kat\subkat\20*.* 应生成 C:\kat\subkat\ 中所有文件的列表,其中 20 作为文件名中的第一个字符。在我的计算机中,我没有得到所有文件。但是,我得到的所有文件的最新更改日期都从 20 开始。有人见过类似的东西吗? 尝试使用此方法通过 XCOPY 进行复制时,我复制了大量文件。其中很少是 C:\kat\subkat\ 中的文件,文件名中的第一个字符为 20。发生了什么?我能做些什么? 我在 HP Probook6470b 上安装了 Windows 7。

【问题讨论】:

    标签: directory command prompt


    【解决方案1】:

    Dir 命令有一个 MS-DOS 遗留,它带有一个 CP/M。 Dir command history

    对于名称包含空格、超过 12 个字符或扩展名超过 3 个字符的文件,该行为可能是意外的。

    那是因为生成的 8.3 短名称 Rules for 8.3 short names 提供了有关如何生成短名称的线索,但并不详尽。 请参阅下面的示例以获取一些提示

    当使用dir搜索的文件夹或计算机支持短名称时,短名称尊重掩码的文件将被包含在最终结果中。

    此外,结果包括短名称包含掩码中字符的文件,即使这些字符不是长名称的一部分

    一个经典的例子是 ~1(2,3..) 后缀 How affect short names the DIR result

    可以通过取消对短名称的支持来阻止这种行为。

    示例。 假设您的文件夹包含

    aabb.xl
    aa bb.xl
    aabb.xls
    aa bb.xls
    aabb.xlsx
    aa bb.xlsx
    aabb.xlsxp
    aa bb.xlsxp
    aabb.xlsxpm
    aa bb.xlsxpm
    

    在我的电脑上,这是 示例 1)

    DIR a*.* /x
    17.09.2015  10:35                 0 AABB~1.XL    aa bb.xl
    17.09.2015  10:35                 0 AABB~1.XLS   aa bb.xls
    17.09.2015  10:35                 0 AABB~3.XLS   aa bb.xlsx
    17.09.2015  10:35                 0 AA3C12~1.XLS aa bb.xlsxp
    17.09.2015  10:35                 0 AA96D4~1.XLS aa bb.xlsxpm
    17.09.2015  10:35                 0              aabb.xl
    17.09.2015  10:35                 0              aabb.xls
    17.09.2015  10:35                 0 AABB~2.XLS   aabb.xlsx
    17.09.2015  10:35                 0 AABB~4.XLS   aabb.xlsxp
    17.09.2015  10:35                 0 AA84DD~1.XLS aabb.xlsxpm
    

    示例 2)

    DIR "*b*.xls" /x
    aabb.xls
    aa bb.xls
    aabb.xlsx
    aa bb.xlsx
    aabb.xlsxp
    

    示例 3)

    DIR "*b*.xl?" /x
    aabb.xl
    aa bb.xl
    aabb.xls
    aa bb.xls
    aabb.xlsx
    aa bb.xlsx
    aabb.xlsxp
    

    示例 4)

    DIR "*D*.xls" /x
    aa bb.xlsxpm aka AA96D4~1.XLS
    aabb.xlsxpm aka AA84DD~1.XLS
    

    示例 5)

    DIR "??????.xls" /x
    aabb.xls
    aa bb.xls aka AABB~1.XLS
    aabb.xlsx aka AABB~2.XLS
    aa bb.xlsx aka AABB~3.XLS
    aabb.xlsxp aka AABB~4.XLS
    

    【讨论】:

    • 非常感谢您的全面解答!你知道我可以用什么程序来复制和移动文件,它的工作原理更像人们对长文件名的期望吗?
    猜你喜欢
    • 2013-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-12
    • 1970-01-01
    • 2021-08-17
    • 2014-01-09
    • 1970-01-01
    相关资源
    最近更新 更多