Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Сортировка файлов по папкам

Ответить
Настройки темы
PowerShell - Сортировка файлов по папкам

Пользователь


Сообщения: 94
Благодарности: 2


Конфигурация

Профиль | Отправить PM | Цитировать


Скриптовые языки администрирования Windows
Уважаемый пользователи портала,
-Возникла потребность распределения огромного количества файлов ,например по 80 штук,в папки(будет много папок по 80 файлов в каждой )
-Был найден скрипт,по аналогичной теме форума*, и подставлен код его в powershell 2.0(ctrl+v)
-Ничего не произошло,к сожалению(не знаю почему)
-Хочется решить проблему без сторонних программ,автоматически
-Язык-любой,который не потребует сторонних программных продуктов
Скрипт-сценарий
Код: Выделить весь код
$source = "F:\677"
#Основная целевая папка
$target = "F:\677"
#Количество файлов для переноса в каждую папку
$n = 80

$fldrs = ((Get-ChildItem $source).Count)/$n
$i = 1
do {
md $target\$i
Get-ChildItem $source | select -First $n | move -Destination $target\$i
$i++
} while ($i -le $fldrs+1)

*Вот :
Любой язык - [решено
]Распределение файлов в каталогеhttp://forum.oszone.net/thread-259461.html

Отправлено: 10:33, 12-09-2016

 

Старожил


Сообщения: 169
Благодарности: 4

Профиль | Отправить PM | Цитировать


Используй вот этот скрипт:
Код: Выделить весь код
$Path = "d:\test\in"
$dest = "d:\test\out"


$prefix  = 0
$counter = 1
$split   = 5
$files   = Get-ChildItem $Path -Recurse -include *.txt | ? {!$_.PSIsContainer}
$fcount  = $files.count 
$step    = $split - 1

while(Test-Path "$dest\$counter")
{
    $counter++
}

while($prefix -lt $fcount)
{ 
    $files[$prefix..$step] | copy-Item -Destination {
        $folder = "$dest\$counter"
        md $folder -Force | Out-Null
           
        $fpath = Join-Path $folder $_.Name
         
        $i = 1
        while($true) {
            if (Test-Path $fpath) {
                $fpath = "{0}\{1}_{2}{3}" -f $folder,$_.basename,$i,$_.extension
                $i++
            }
            else {
                $fpath
                break
            }
        }   
    }
    $prefix = $step + 1
    $step += $split
    $counter++
}
Перед выполнением скриптов дай две команды , Set-ExecutionPolicy RemoteSigned , и
Set-ExecutionPolicy Unrestricted и разреши выполнение скриптов на данной машине.

Укажите свой тип файлов и их количество. Копирование можно заменить на перенос move-Item

Последний раз редактировалось dark-------13, 12-09-2016 в 13:11.


Отправлено: 12:16, 12-09-2016 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 94
Благодарности: 2

Профиль | Отправить PM | Цитировать


Уточнение,
1)Если я хочу запустить сортировку в одной корневой папке ,то:
можно этого не писать:
$Path = "d:\test\in"
$dest = "d:\test\out"
Можно ли так:
$source = "F:\677"
2)
Что это такое,где число n($n = 80)?
$split = 5[/i] (разделить,расщепить по 5 штук в папке?)

Последний раз редактировалось victor21043, 15-09-2016 в 09:59.


Отправлено: 23:17, 12-09-2016 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Сортировка файлов по папкам

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Сортировка входящих по папкам gmail jorikello Хочу все знать 1 30-12-2015 16:48
Любой язык - Сортировка файлов по имени. Extazik Скриптовые языки администрирования Windows 12 24-09-2015 23:26
Интерфейс - [решено] Автоматическая сортировка файлов по папкам kako12 Microsoft Windows 8 и 8.1 8 08-06-2013 21:07
CMD/BAT - сортировка файлов по папкам по дате в названии insearches Скриптовые языки администрирования Windows 1 03-02-2013 17:03
CMD/BAT - Сортировка файлов по расширению cyber_ua Скриптовые языки администрирования Windows 9 07-10-2012 23:16




 
Переход