Mover os últimos N arquivos da pasta no Windows 8.1

2

Eu queria saber - existe uma maneira boa e elegante no Windows 8.1 para mover os últimos N arquivos de uma pasta para outra pasta diferente de escrever um programa para fazer isso?

Editar: N é, por exemplo, 100 e os arquivos são classificados por nome.

    
por Eutherpy 31.05.2015 / 17:27

1 resposta

1

Como movo os últimos N arquivos de uma pasta?

N is, for example, 100, and the files are sorted by name.

Use o seguinte arquivo de lote (test.cmd):

@echo off
rem parameters
rem %1 number of files to move
rem %2 source directory
rem %3 target directory
Setlocal EnableDelayedExpansion
rem initialise number of files
set count=0
rem count files
for /f "delims=" %%a in ('dir %2 /a-d /b /O:N') do @(set /a count+=1 >nul)
rem set number of files to skip (not move)
set /a "skip=count-%1"
rem move the files
for /f "skip=%skip% delims=" %%a in ('dir %2 /a-d /b /O:N') do echo move %2\%%a %3\%%a

Remova o echo de do echo move... quando estiver satisfeito porque o arquivo de lote está funcionando de maneira satisfatória.

Uso:

test N Source Target

Onde:

  • N número de arquivos para mover
  • Source diretório de origem
  • Target diretório de destino

Exemplo:

C:\test>dir
 Volume in drive C has no label.
 Volume Serial Number is C8D0-DF1E

 Directory of C:\test

31/05/2015  11:31    <DIR>          .
31/05/2015  11:31    <DIR>          ..
26/05/2015  18:20               117 address.out
26/05/2015  18:16               265 data.txt
31/05/2015  11:25    <JUNCTION>     junction [f:\test]
31/05/2015  11:31    <DIR>          sub
31/05/2015  18:16               449 test.cmd
               3 File(s)            831 bytes
               4 Dir(s)  95,480,258,560 bytes free

C:\test>test 1 . c:\temp
move .\test.cmd c:\temp\test.cmd
C:\test>

Outras leituras

por 31.05.2015 / 19:19