![]() |
Помогите допилить скрипт сортировки файлов - по Количеству указанному в ($split)
Здравствуйте,
Подскажите пожалуйста, как допилить этот скрипт, чтобы скрипт делал следующие действия: По указанному значению в переменной $split переносил бы файлы в созданную папку с номером 1, потом переходил к следующим файлам и копировал их в другую созданную папку, но уже с номером 2 и тд. пока не закончатся все файлы Код:
$Path = "e:\Test\in" |
Можете более четко объяснить задачу,т.к. условия не понятны.
|
Есть папка с вложенными папками скажем с общим количеством 5000 фоток, нужно скопировать эти фотки в отдельные папки - например по 1000 штук в каждую папку, папки соответственно нумеруем 1,2,3,4,5
Был такой вариант на бат , но хотелось бы на powershell Код:
@echo off |
dark-------13, Если правильно понял
Код:
$split = 5 |
Код:
$Path = "e:\Test\in" |
Уважаемый Kazun спасибо что помогаете, наверное мне еще более подробно нужно было описать работу скрипта.
Скрипт работает немножко не так, как хотелось бы. Работать скрипт должен следующим образом: 1.Скрипт рекурсивно должен просматривать папку и вложенные папки на предмет указанных изображений 2.Количество картинок должно указываться в переменной $split и скрипт должен копировать картинки по 1000 штук в папку. !!! Каждая новая папка должна создаваться автоматом (,а не по указанию количества в переменной), каждая папка должна отличаться от предыдущей на 1 !!! 3.Если при копировании имена файлов совпадают то добавляем к файлу постфикс - после имени , но перед точкой. 4.В последний каталог попадут не обязательно ровно 1000 штук.... Вам Foreigner тоже огромное спасибо за участие в исправлении скрипта, но ваш вариант скрипт пока не тестировал. |
Так $split или 1000?
|
Я должен ручками задать количество копируемых картинок в количестве 1000 , замечу что в исходной папке и подпапках общее количество у меня больше где-то около 5000 тысяч.
Если мы меняем количество картинок в папке то соответственно количество папок у нас увеличится. При количестве 1000 папок будет 5 При количестве 500 папок будет 10 На $split не смотрите, наверное она здесь не нужна вообще , да точно эта переменная не нужна. В батскрипте это количество указывается вот такой строкой, со значением 500 Код:
set/a $m=1+!$n!/500 |
Код:
$Path = "e:\Test\in" |
Спасибо вам Kazun - все отлично работает. Теперь отсортирую фотки на своем компе. Лично от себя какую вы книжку по powershell посоветуете почитать - для человека, который не силен в программировании.
|
К обязательному прочтению всем(независимо от уровня):
1) Bruce Payette - Windows Powershell in Action, 2nd Edition 2) Lee Holmes - Windows PowerShell Cookbook, 2nd Edition Но для начала Don Jones - Learn Windows PowerShell in a Month of Lunches ,потом уже можно перейти к книгам выше. На русском посоветовать ничего не могу,материал устарел. |
Время: 07:24. |
Время: 07:24.
© OSzone.net 2001-