|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Как перекидывать много файлов в нужные мне папки& |
|
CMD/BAT - [решено] Как перекидывать много файлов в нужные мне папки&
|
Новый участник Сообщения: 9 |
Здравствуйте! Помогите пожалуйста.
В папке находится около 4 тыс фото и нужно, что бы каждые 3 фотографии перекидывались в 1 папку. Приложил скрин, там схематично указал что я имею ввиду. Возможно ли такое сделать каким либо способом? У меня уже имеется скрипт который перекидывает 1 файл только в 1 папку. Как раз помогли на этом форуме. Возможно из него получится сделать перекидку по 3 фото в 1 папку? Приложил его так же файлом и текстом ниже. @setlocal enabledelayedexpansion&chcp 1251>nul @set "d=bla bla" @for %%i in (*.*) do @( >nul robocopy . "!d!!s!" "%%i" /mov /ndl /nfl /njh /njs /xf "%~nx0" set/a c+=1&if !c! geq 2 (set "s= — копия (!c!)") else set "s= — копия" ) |
|
Отправлено: 20:11, 04-07-2024 |
fascinating rhythm Сообщения: 6565
|
Профиль | Отправить PM | Цитировать Powershell, с настраиваемым количеством файлов в конечной папке и разницей в секундах. Вроде работает.
$src = 'C:\temp\from\photo*.jpg' $dest = 'C:\temp\to' $sec = 2 # максимально допустимая разница в секундах $quantity = 3 # максимальное число файлов в конечных папках function Get-Folder ($name) { $name -replace '^.*@' } function Get-Time ($name) { [datetime]::parseexact("$(Get-Folder $name)", 'dd-MM-yyyy_HH-mm-ss', $null) } $files = dir $src |sort {Get-Time $_.basename} $filesNum = $files.count - 1 0..$filesNum |% { if (-not $continuationToken) { $f = "$dest\$(Get-Folder $files[$_].basename)" mkdir $f -ErrorAction SilentlyContinue > $null } mv $files[$_] $f $counter++ #"Файл $($files[$_].name) перенесён в $f" if ($filesNum -eq $_) {break} # Чтобы не было ошибки на последнем файле $nextSec = ((Get-Time $files[$_+1].basename) - (Get-Time $files[$_].basename)).totalseconds #"Сек: $nextsec/$sec, кол-во: $counter/$quantity" if ($nextSec -le $sec -and $counter -lt $quantity) { #"Токен выдан`n" $continuationToken = 1 } else { #"Токен не выдан`n" $continuationToken,$counter = $null } if ($counter -ge $quantity) {$counter = $null} } Файл photo_4362@30-06-2024_18-07-01.jpg перенесён в C:\temp\to\30-06-2024_18-07-01 Сек: 1/3, кол-во: 1/4 Токен выдан Файл photo_4343@30-06-2024_18-07-02.jpg перенесён в C:\temp\to\30-06-2024_18-07-01 Сек: 0/3, кол-во: 2/4 Токен выдан Файл photo_4344@30-06-2024_18-07-02.jpg перенесён в C:\temp\to\30-06-2024_18-07-01 Сек: 28/3, кол-во: 3/4 Токен не выдан Файл photo_4345@30-06-2024_18-07-30.jpg перенесён в C:\temp\to\30-06-2024_18-07-30 Сек: 0/3, кол-во: 1/4 Токен выдан Файл photo_4346@30-06-2024_18-07-30.jpg перенесён в C:\temp\to\30-06-2024_18-07-30 Сек: 1/3, кол-во: 2/4 Токен выдан Файл photo_4347@30-06-2024_18-07-31.jpg перенесён в C:\temp\to\30-06-2024_18-07-30 Сек: 88/3, кол-во: 3/4 Токен не выдан Файл photo_4348@30-06-2024_18-08-59.jpg перенесён в C:\temp\to\30-06-2024_18-08-59 Сек: 1/3, кол-во: 1/4 Токен выдан Файл photo_4349@30-06-2024_18-09-00.jpg перенесён в C:\temp\to\30-06-2024_18-08-59 Сек: 1/3, кол-во: 2/4 Токен выдан Файл photo_4350@30-06-2024_18-09-01.jpg перенесён в C:\temp\to\30-06-2024_18-08-59 Сек: 0/3, кол-во: 3/4 Токен выдан Файл photo_4351@30-06-2024_18-09-01.jpg перенесён в C:\temp\to\30-06-2024_18-08-59 Сек: 54259201/3, кол-во: 4/4 Токен не выдан Файл photo_4352@20-03-2026_18-09-02.jpg перенесён в C:\temp\to\20-03-2026_18-09-02 C:\TEMP\TO +---20-03-2026_18-09-02 ¦ photo_4352@20-03-2026_18-09-02.jpg ¦ +---30-06-2024_18-07-01 ¦ photo_4343@30-06-2024_18-07-02.jpg ¦ photo_4344@30-06-2024_18-07-02.jpg ¦ photo_4362@30-06-2024_18-07-01.jpg ¦ +---30-06-2024_18-07-30 ¦ photo_4345@30-06-2024_18-07-30.jpg ¦ photo_4346@30-06-2024_18-07-30.jpg ¦ photo_4347@30-06-2024_18-07-31.jpg ¦ L---30-06-2024_18-08-59 photo_4348@30-06-2024_18-08-59.jpg photo_4349@30-06-2024_18-09-00.jpg photo_4350@30-06-2024_18-09-01.jpg photo_4351@30-06-2024_18-09-01.jpg |
------- Последний раз редактировалось DJ Mogarych, 10-07-2024 в 18:05. Причина: DRY Отправлено: 16:28, 10-07-2024 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Любой язык - [решено] назначить нужные права на папки в каталоге | batyaPS | Скриптовые языки администрирования Windows | 25 | 14-09-2014 12:04 | |
Установка - [решено] Обновления от Microsoft: нужные, не нужные. Польза или вред. | flev45 | Microsoft Windows 7 | 18 | 29-09-2010 13:05 | |
[решено] Как вытянуть из диструбива windows xp нужные мне программы | VALIK1994 | Автоматическая установка Windows 2000/XP/2003 | 3 | 29-08-2009 01:44 | |
Vista / 2008 - Как удалить не нужные мне приложения? | njg | Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista | 3 | 03-07-2009 15:44 |
|