CMD/BAT - [решено] Перемещение заданного количества файлов, начиная с последнего по имени

Ответить
Аватара пользователя
Alexander_88

CMD/BAT - [решено] Перемещение заданного количества файлов, начиная с последнего по имени

Сообщение Alexander_88 »

Здравствуйте. подскажите, пожалуйста как можно переместить заданное количество файлов, начиная с последнего по имени, из одного каталога в другой. Изображение
Аватара пользователя
Alexander_88

Re: CMD/BAT - [решено] Перемещение заданного количества файлов, начиная с последнего по имени

Сообщение Alexander_88 »

Код:

Код: Выделить всё

@echo off
set number=2
set "in=D:\Test 1"
set "out=D:\Test 2"
for /f "delims=" %%i in ('
"dir /a-d/b/o-n "%in%" 2>nul"
') do (
 set /a count+=1
 for /f %%j in ('
  set /a count
 ') do (
  if %%j leq %number% (
   move "%in%\%%i" "%out%">nul
   ) else (
   exit /b
   )
  )
 )
Аватара пользователя
Elven

Re: CMD/BAT - [решено] Перемещение заданного количества файлов, начиная с последнего по имени

Сообщение Elven »

Например так



Код:

Код: Выделить всё

for /F "token=1-100500" %%f in ('dir /B /O-N "папка_в_которой_лежат_файлы"') do (
del /f /q %%f
)

где 100500 - файлы количество которых нужно удалить, а "папка_в_которой_лежат_файлы" - папка в которой лежат файлы
Аватара пользователя
Alexander_88

Re: CMD/BAT - [решено] Перемещение заданного количества файлов, начиная с последнего по имени

Сообщение Alexander_88 »

Georgio Изображение Спасибо, опять вы меня выручили



Elven



Код:

Код: Выделить всё

for /F "token=1-2" %%f in ('dir /B /O-N "C:\work\new"') do (
del /f /q %%f
)
pause
exit

пишет непредвиденное появление token=1-2"
Аватара пользователя
gora

Re: CMD/BAT - [решено] Перемещение заданного количества файлов, начиная с последнего по имени

Сообщение gora »

Elven


Цитата Elven:



token=
CMD/BAT - [решено] Перемещение заданного количества файлов, начиная с последнего по имени




1 Правильно пишется: tokens=
Цитата Elven:



где 100500 - файлы количество которых нужно удалить
CMD/BAT - [решено] Перемещение заданного количества файлов, начиная с последнего по имени




2 Ни чего подобного. В имени каждого файла будет выделено указанное число подстрок (если их там столько наберется), а использоваться в команде удаления будет только первая подстрока и это третья ошибка!

3 Имена файлов с пробелами будут разрезаны на подстроки и эти файлы удалены не будут.

4 Ни какого ограничения на число удаляемых файлов в коде нет, удаляться все файлы с именами без пробелов.
Аватара пользователя
Elven

Re: CMD/BAT - [решено] Перемещение заданного количества файлов, начиная с последнего по имени

Сообщение Elven »

gora, Georgio, Alexander_88, всем большое сорри, факир был пьян - фокус не удался (реально с бодуна написал, теперь самому страшно: из полезного только сортировка по имени). Сейчас кофейку дернул исправлю шоб работало.

Насчет имени файлов delims= и ковычки все весьма исправляют, опять же сейчас поправлю.

хотя пардоньте, не буду ничего исправлять - пусть будет памятником моей бодунистической безалаберности, все равно решение уже имеет место быть.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»