|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Нужна помощь в написании скрипта работы с файлами. |
|
|
CMD/BAT - [решено] Нужна помощь в написании скрипта работы с файлами.
|
Новый участник Сообщения: 8 |
Профиль | Отправить PM | Цитировать Доброго времени суток господа форумчане! Требуется помощь в написании скрипта. Имеем следующее : программа 3D съемки дает на выходе 32 .jpg файла в папку с рандомным названием (эта папка создается всегда в одном месте скажем в D:/Photo) . Задача состоит в том , что бы переименовать эти .jpg фалы по очереди , начиная с 0 до 31(тоесть должно получиться 0.jpg.....31.jpg) и запаковать их в архив с помощью 7zip под названием photo.zip . Заранее спасибо за помощь.
|
|
Отправлено: 09:28, 20-08-2019 |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать @Echo Off cls Set "BoxIn=D:\Photo" Set "FileOut=D:\Photo\Photo.zip" Set "Arc="C:\Program Files\7-Zip\7z.exe" a -mx0 -sdel --" If Not Exist "%BoxIn%\" (Echo !!! Folder "%BoxIn%\" not exists. Script Exit. &Pause &Exit /B 2) If Exist "%FileOut%" (Echo !!! File "%FileOut%" already exists. Script Exit. &Pause &Exit /B 2) FOR /F "usebackq delims=" %%d IN (`2^>nul Dir "%BoxIn%\" /B /A:D /O:-D`) DO ( If Exist "%BoxIn%\%%d\0??_001.jpg" ( 2>nul Md "%BoxIn%\%%d\%~n0.tmp" FOR /L %%i IN (1001,1,1032) DO ( Set /A N=%%i Set /A M=%%i-1001 >nul Call Move /Y "%BoxIn%\%%d\%%N:~1,3%%_001.jpg" "%BoxIn%\%%d\%~n0.tmp\%%M%%.jpg"||Call Echo "%BoxIn%\%%N:~1,3%%_001.jpg" ) If Exist "%BoxIn%\%%d\%~n0.tmp\*.jpg" %Arc% "%FileOut%" "%BoxIn%\%%d\%~n0.tmp\*.*" &&(Rd /S /Q "%BoxIn%\%%d" &Exit /B) ) ) Echo !!! In Subfolders of Folder "%BoxIn%\" files 0??_001.jpg not found. Script Exit. &Pause &Exit /B 2) Exit /B |
------- Последний раз редактировалось megaloman, 22-08-2019 в 12:52. Отправлено: 12:46, 22-08-2019 | #21 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Тогда примерно так:
Скрытый текст
$sRootFolder = 'C:\Мои проекты\0273\Photo' $sArchiveFile = "$sRootFolder\Photo.zip" $sExtension = 'jpg' if([System.IO.Directory]::Exists($sRootFolder)) { $oDirectoryInfo = Get-ChildItem -Path $sRootFolder -Directory if($oDirectoryInfo -is [System.IO.DirectoryInfo]) { $aFileInfo = @(Get-ChildItem -Path "$($oDirectoryInfo.FullName)\*" -Include "*.$sExtension" -File) | Sort-Object -Property 'Name' if($aFileInfo.Count -eq 32) { $aFileInfo | ForEach-Object -Begin { $iCount = 0 } -Process { [System.IO.File]::Move($_.FullName, "$($oDirectoryInfo.FullName)\$(($iCount++).ToString())$($_.Extension)") } $aFileInfo = @(Get-ChildItem -Path "$($oDirectoryInfo.FullName)\*" -Include "*.$sExtension" -File) | Sort-Object -Property 'Name' try { Compress-Archive -Path $aFileInfo -DestinationPath $sArchiveFile -CompressionLevel NoCompression -Force -ErrorAction SilentlyContinue Write-Host "Archive file [$sArchiveFile] created." -ForegroundColor Green $oDirectoryInfo.Delete($true) Write-Host "Folder [$($oDirectoryInfo.FullName)] deleted." -ForegroundColor Green } catch { Write-Host "Can't create archive file [$sArchiveFile]." -ForegroundColor Red } } else { Write-Host "Need exactly 32 $sExtension files in subfolder [$($oDirectoryInfo.FullName)]." -ForegroundColor Red } } else { Write-Host "Need at least one (and no more) subfolder in root folder [$sRootFolder]." -ForegroundColor Red } } else { Write-Host "Can't find root folder [$sRootFolder]." -ForegroundColor Red } Цитата YuS_2:
|
|
Отправлено: 12:50, 22-08-2019 | #22 |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать megaloman, Огромное Вам спасибо за помощь и терпение ! Все работает , надеюсь больше никаких неполадок со стороны программы 3d съемки не будет .
|
Отправлено: 13:11, 22-08-2019 | #23 |
fascinating rhythm Сообщения: 6491
|
Профиль | Отправить PM | Цитировать |
------- Последний раз редактировалось DJ Mogarych, 22-08-2019 в 15:44. Отправлено: 15:20, 22-08-2019 | #24 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Помощь в написании скрипта.. | Boris81G | Программирование в *nix | 1 | 09-10-2015 12:46 | |
PowerShell - Помощь в написании скрипта | IVa_ | Скриптовые языки администрирования Windows | 3 | 10-07-2015 14:12 | |
VBS/WSH/JS - Нужна помощь в написании скрипта автологина через веб-форму сайта | Rampages | Скриптовые языки администрирования Windows | 4 | 08-03-2014 04:50 | |
Нужна снова ваша помощь в написании интересного скрипта | Magnus | Вебмастеру | 2 | 09-06-2005 20:26 | |
Нужна помощь в написании скрипта | Magnus | Вебмастеру | 7 | 06-05-2005 10:53 |
|