Noções básicas sobre como o Windows faz a correspondência de padrões no prompt de comando


2

Eu tenho 500 arquivos em um diretório, test1.txt a test500.txt

No link da Microsoft http://msdn.microsoft.com/en-us/library/ff469270.aspx , não entendi claramente a diferença entre * e <

O seguinte comando no cmd-prompt lança "Arquivo não encontrado"

dir "test5<"

No entanto, dir "test5<<"lista todos os arquivos test5 *.

Qual o motivo desse comportamento? Não foi possível encontrar nenhum artigo que explique melhor como se espera que "<" se comporte.

[editar 1]

Além disso, se não houver extensões, ou seja, os arquivos test1 - test500, "test5???"correspondem a "test5", "test50" e "test500".

Isso não deveria fornecer "arquivo não encontrado", pois existem três?

Respostas:


2

<é semelhante a *, exceto por uma diferença. <não corresponde ao último .no nome do arquivo.

test5< não corresponde a nada, porque não corresponde à extensão dos arquivos no diretório

test5<<corresponde a eles, porque o primeiro <corresponde aos nomes dos arquivos até o .da extensão do arquivo e o segundo <corresponde à própria extensão do arquivo.


Isso explica. Muito obrigado. Além disso, se não houver extensões, "test5 ???" corresponde a "test5", "test50" e "test500". Não é suposto dar "arquivo não encontrado", pois existem três?
SyncMaster

@SyncMaster O problema é que o site que você postou explica o algoritmo que detecta apenas se um determinado arquivo é um padrão. Não explica completamente como o padrão é interpretado . ?provavelmente significa "zero ou um" caracteres no prompt de comando do Windows. As explicações nesse site podem ser enganosas.
Der Hochstapler /

0

O artigo que você postou está discutindo algoritmos , não comandos.

Os operadores de redirecionamento< e >são para o prompt de comando.


Não os estou usando como um operador de redirecionamento. Estou usando-o dentro de um padrão para corresponder aos arquivos.
SyncMaster

11
@SyncMaster Im não sei como dizer isso mais claro, ele não funciona dessa maneira
Keltari

Na verdade, Keltari. Tente. Prepare-se para mais uma cmdsurpresa da Microsoft .
JdeBP

Bem isso é novo para mim
Keltari
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.