Windows RENAME (REN) 命令如何解释通配符?
内置的帮助工具没有帮助 - 它根本不解决通配符。
在微软的TechNet XP联机帮助也好不了多少。以下是关于通配符的全部内容:
“您可以在任一文件名参数中使用通配符(
*和?)。如果您在 filename2 中使用通配符,则通配符表示的字符将与 filename1 中的相应字符相同。”
没有太大帮助 - 可以通过多种方式解释该语句。
在某些情况下,我已经成功地在filename2参数中使用通配符,但它一直是反复试验。我无法预测什么有效,什么无效。我经常不得不使用 FOR 循环编写一个小批量脚本来解析每个名称,以便我可以根据需要构建每个新名称。不是很方便。
如果我知道如何处理通配符的规则,那么我认为我可以更有效地使用 RENAME 命令,而不必经常求助于批处理。当然,了解规则也有利于批量开发。
(是的 - 这是我发布成对问题和答案的情况。我厌倦了不知道规则并决定自己进行实验。我想很多其他人可能对我的发现感兴趣)
在 Windows 7 上,我有一个包含以下四个文件的目录:
由于文件有超过 3 个字符作为文件扩展名,通配符 * 的行为似乎很奇怪:
dir *.txt
10/13/2014 04:14 PM 6 xxx.txt
10/13/2014 04:17 PM 6 xxx2.txt
10/13/2014 04:17 PM 6 xxx2.txt2
10/13/2014 04:14 PM 6 xxx.txt2
4 File(s) 24 bytes
0 Dir(s) 6,660,980,736 bytes free
Run Code Online (Sandbox Code Playgroud)
我希望只看到两个带有 txt 扩展名的文件,而不是带有 txt2 的文件(就像在 Linux 机器上一样)。MS-DOS 是否忽略将文件扩展名截断为 3 个字符,还是在末尾自动添加另一个通配符?如果我只想删除带有 txt 扩展名的文件而不是带有 txt2 的文件,我应该使用哪个命令?谢谢
我正在寻找一个脚本或软件,可以检查 Mac 上的所有文件并报告受限/禁止字符,例如 \ / : * ? " < > |,Windows 无法使用它。
有任何想法吗?
windows ×3
batch-file ×1
cmd.exe ×1
command-line ×1
filenames ×1
filesystems ×1
macos ×1
rename ×1
wildcards ×1