O que “move ^” faz no Windows?

4

Eu acidentalmente inseri este comando em um grande diretório de trabalho e obtive este resultado:

d:\prog>move ^<
       10 file(s) moved.

Alguém pode explicar o que acabei de fazer? Eu não tenho ideia: /

Nota:

Isso só parece acontecer se houver arquivos no diretório com apenas uma extensão (e nenhum nome), por exemplo, .a .

    
por Gugyin Adrián 01.11.2015 / 11:26

1 resposta

1

Você está usando um curinga, portanto, os arquivos correspondentes são movidos. Documentação da Microsoft (links na parte inferior) indica

  • DOS_QM (> greater than) Matches any single character or, upon encountering a period or end of name string, advances the expression to the end of the set of contiguous DOS_QMs.

  • DOS_STAR (< less than) Matches zero or more characters until encountering and matching the final . in the name.

Assim, o seu comando é "mover" (como a pasta de destino é a mesma que a fonte não existe operação de movimento real) arquivos sem extensão, ou seja, seu comando é equivalente a move *.

Agora, a próxima pergunta deve ser:

  • Se o ^< (ou apenas "<" ) estiver selecionando arquivos sem extensão, por que .a arquivo que não tem nome, ele só tem extensão, é selecionado?

E a resposta é nomes curtos . Trabalho de seleção de curinga em nomes longos e curtos dos arquivos. Se você tentar com dir /x listar os nomes abreviados dos arquivos, provavelmente verá que o nome abreviado do arquivo .a não tem extensão.

Mais informações

por 03.11.2015 / 08:51