Войти

Показать полную графическую версию : [решено] Перемещение заданного количества файлов, начиная с последнего по имени


Alexander_88
21-08-2014, 08:50
Здравствуйте. подскажите, пожалуйста как можно переместить заданное количество файлов, начиная с последнего по имени, из одного каталога в другой. :sorry:

Georgio
21-08-2014, 10:12
@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
21-08-2014, 10:22
Например так
for /F "token=1-100500" %%f in ('dir /B /O-N "папка_в_которой_лежат_файлы"') do (
del /f /q %%f
)
где 100500 - файлы количество которых нужно удалить, а "папка_в_которой_лежат_файлы" - папка в которой лежат файлы

Alexander_88
21-08-2014, 10:26
Georgio :yahoo: Спасибо, опять вы меня выручили

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"

Georgio
21-08-2014, 10:34
for /F "token=1-100500" %%f in ('dir /B /O-N "папка_в_которой_лежат_файлы"') do ( »

Elven, это шутка такая?

gora
21-08-2014, 11:01
Elven
token= »
1 Правильно пишется: tokens=где 100500 - файлы количество которых нужно удалить »
2 Ни чего подобного. В имени каждого файла будет выделено указанное число подстрок (если их там столько наберется), а использоваться в команде удаления будет только первая подстрока и это третья ошибка!
3 Имена файлов с пробелами будут разрезаны на подстроки и эти файлы удалены не будут.
4 Ни какого ограничения на число удаляемых файлов в коде нет, удаляться все файлы с именами без пробелов.

Elven
21-08-2014, 11:36
gora, Georgio, Alexander_88, всем большое сорри, факир был пьян - фокус не удался (реально с бодуна написал, теперь самому страшно: из полезного только сортировка по имени). Сейчас кофейку дернул исправлю шоб работало.
Насчет имени файлов delims= и ковычки все весьма исправляют, опять же сейчас поправлю.
хотя пардоньте, не буду ничего исправлять - пусть будет памятником моей бодунистической безалаберности, все равно решение уже имеет место быть.




© OSzone.net 2001-2012