Ich habe mich gefragt: Gibt es in Windows 8.1 eine schöne und elegante Möglichkeit, die letzten N Dateien aus einem Ordner in einen anderen zu verschieben, ohne dafür ein Programm schreiben zu müssen?
Bearbeiten: N ist beispielsweise 100 und die Dateien werden nach Namen sortiert.
Antwort1
Wie verschiebe ich die letzten N Dateien aus einem Ordner?
N ist beispielsweise 100 und die Dateien werden nach Namen sortiert.
Verwenden Sie die folgende Batchdatei (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
Entfernen Sie das echo
Formular do echo move...
, wenn Sie mit der Batchdatei zufrieden sind und diese zu Ihrer Zufriedenheit funktioniert.
Verwendung:
test N Source Target
Wo:
N
Anzahl der zu verschiebenden DateienSource
QuellverzeichnisTarget
Zielverzeichnis
Beispiel:
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>
Weiterführende Literatur
- Ein AZ-Index der Windows CMD-Befehlszeile- Ein hervorragendes Nachschlagewerk zu allem, was mit der Windows-Eingabeaufforderung zu tun hat.