总是会dir /a /b /s /o:n
以与这些标志开关的不同排列完全相同的方式工作,例如dir /b /o:n /a /s
。
请注意,我包含了/a
,但不包含任何属性,因为我曾经有过这样的经历,dir /b /s
由于某种原因,没有产生目录中的所有文件,而却dir /a /b /s
产生了。
答案1
不。对于命令提示符中的任何命令,开关本身的顺序并不重要。当您谈论开关与文件名时,这可能很重要,当然,如果开关具有在下一个参数中指定的子参数,那么下一个参数当然必须排在后面。
例如,使用shutdown
,您可以写入 /c 来添加注释。顺序始终是shutdown /c "My comment about the shutdown"
,但重新启动的 /r 参数可以出现在 /c 之前和注释之后,这样就可以正常工作。
subst
在像和这样的命令中,mklink
如果同时指定开关和文件名,开关会排在前面,如果有多个开关,文件名的顺序也很重要。在 的情况下,mklink
第一个开关指定链接名称,第二个开关指定链接到的目标,并且您使用的参数始终位于两个文件名之前。
要了解参数的顺序,您可以随时运行command /?
where 命令来代替实际命令,例如:dir /?
。如果有特定的顺序,它会在那里告诉您。如果没有提到特定的顺序,则顺序无关紧要。
到目前为止,所有命令提示符命令和可执行文件似乎都遵循相同的顺序:
program.exe /required_switches filenames /optional_options optional_filenames
dir 命令可以在没有任何开关或文件名的情况下运行,这告诉您所有开关和文件名都是可选选项,因此将它们放在哪里并不重要。
dir *.txt /s
效果一样好dir /s *.txt