Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Перемещение указанного количества пронумерованных файлов, начиная с последнего (http://forum.oszone.net/showthread.php?t=286954)

Alexander_88 24-08-2014 21:26 2393526

Перемещение указанного количества пронумерованных файлов, начиная с последнего
 
Здравствуйте. Подскажите можно ли переместить указанное количество файлов из одной папки в другую, причем чтобы перемещались последние по списку пронумерованные файлы. К примеру есть папка с 80 файлами типа 0001start, 0002start, 0003start - 0060start, и еще 20 файлов различных названий (не пронумерованных). Если задать количество 20, то должны переместить файлы 0041start - 0060start. Известно, что нумерация из 4ех чисел, расширения разные, названия после расширений одинаковые (но не всегда start) :beta:

Georgio 24-08-2014 23:03 2393547

Код:

@echo off
chcp 1251>nul

set number=20
set "root=start"
set "source=D:\Work\122\1"
set "destination=D:\Work\122\2"

set "reg_exp=^[0-9][0-9][0-9][0-9]%root%\...*"
for /f "delims=" %%i in ('
 dir /a-d/b/o-n "%source%\*%root%*"^| findstr /irc:"%reg_exp%"
') do (
 set /a count+=1
 for /f %%j in ('
  set /a count
 ') do (
  if %%j leq %number% (
  move "%source%\%%i" "%destination%">nul
  ) else (
  exit /b
  )
  )
 )


Alexander_88 24-08-2014 23:08 2393553

Georgio спасибо, работает :)


Время: 21:32.

Время: 21:32.
© OSzone.net 2001-