Classificando uma lista de arquivos no Windows

-1

Uma lista de fotos coloridas de Hatton1.jpg a Hatton72.jpg de cada foto tem uma foto em preto e branco idêntica chamada Hatton1-2.jpg a Hatton72-2.jpg

Existe uma maneira de remover os arquivos -2 para um diretório separado?

    
por GeoffMarbella 30.01.2018 / 13:07

3 respostas

1

Use o comando move com os argumentos apropriados:

move *-2.jpg c:\somefolder

    
por 30.01.2018 / 14:12
1

Isso é um pouco complicado, devido a nomes de arquivos curtos: -

  • Para manter algum tipo de compatibilidade com programas antigos que conseguiam manipular apenas nomes de arquivo curtos, o Windows fornece um nome 8.3 alternativo para cada nome de arquivo mais longo.
  • Os nomes 8.3 estão no formato *~N.??? , em que * é o início do nome do arquivo e N é um número inteiro (onde há poucos conflitos) - consulte dir /x .
  • Infelizmente, a pesquisa por *~2.* encontrará alguns desses nomes abreviados, bem como os arquivos que você deseja, com *~2.* no nome longo.

Em cmd , vá para o diretório com os arquivos: você pode listar os que deseja mover:

dir /b | findstr "~2.jpg"

Idealmente, você deve ser capaz de usar:

for /f %f in ('dir /b | findstr "~2.jpg"') do move "%f" NewDirPath

Infelizmente, mais uma vez, você não pode usar um pipe em um comando incorporado em um loop for , portanto, é necessário usar dois comandos (ou três para remover o arquivo temporário):

dir /b > Files.lst
for /f %f in ('findstr "~2.jpg" Files.txt') do move "%f" NewDirPath
del Files.lst

Não é uma solução muito elegante, mas você provavelmente só está fazendo isso uma vez. Se você precisar fazer isso repetidamente, coloque os comandos em um arquivo de lote e certifique-se de dobrar o % na variável de loop:

...
for /f %%f in ('findstr "~2.jpg" Files.txt') do move "%%f" NewDirPath
...
    
por 30.01.2018 / 14:36
0

Usando o PowerShell, você pode usar Get-ChildItem juntamente com Move-item .

Seria algo parecido com isto:

Get-ChildItem -Filter '*-2.jpg' -Recurse | %{Move-Item $_ C:\Target}

Eu não testei esse código, mas ele deve ser muito semelhante. Usar apenas a pesquisa normal do Windows e arrastar os arquivos provavelmente também funcionaria.

    
por 30.01.2018 / 14:12