Davem
Новый пользователь
- Сообщения
- 2
- Реакции
- 0
Нужно упаковать множество каталогов, каждый в отдельный файл
Каждый каталог содержит сотни маленьких файлов типа
RODRIGUES_BIMBA.CT.HEAD_INNEREAR_(ADULT).0001.0001.2017.02.19.11.18.15.585559.202195291.IMA
из этого имени файла нужно взять название слева до "." на этом примере : RODRIGUES_BIMBA
Упаковать содержимое каталога при помощи ultraISO в RODRIGUES_BIMBA.ISZ и Присвоить дату изменения файла точно такую же, как у первого попавшегося файла внутри пакуемого каталога. Для изменения даты думал использовать TouchFile.exe
Перепробовал массу вариантов, не получаеться передать переменные за цикл FOR, внутри цикла есть значение, снаружи нет . Пробовал SET i=%%i, все равно так и не понял как это делать.
Заготовка тут, до установки времени так и не дошел, застрял на формировании имени архива и передачи его в ultraISO:
Подскажите как реализовать
Заранее благодарен
Каждый каталог содержит сотни маленьких файлов типа
RODRIGUES_BIMBA.CT.HEAD_INNEREAR_(ADULT).0001.0001.2017.02.19.11.18.15.585559.202195291.IMA
из этого имени файла нужно взять название слева до "." на этом примере : RODRIGUES_BIMBA
Упаковать содержимое каталога при помощи ultraISO в RODRIGUES_BIMBA.ISZ и Присвоить дату изменения файла точно такую же, как у первого попавшегося файла внутри пакуемого каталога. Для изменения даты думал использовать TouchFile.exe
Перепробовал массу вариантов, не получаеться передать переменные за цикл FOR, внутри цикла есть значение, снаружи нет . Пробовал SET i=%%i, все равно так и не понял как это делать.
Заготовка тут, до установки времени так и не дошел, застрял на формировании имени архива и передачи его в ultraISO:
CMD/BATCH:
@ECHO OFF
SetLocal EnableDelayedExpansion
Set origFold=%~dp0
for /d %%a in (*) do (
echo %%~nxa
cd %%~nxa
for /r %%a in (*.IMA) do (
echo %%~na>tempName.tmp
for /f "tokens=1 delims=." %%g in (tempName.tmp) do (
SET g=%%g rem как передать в ultraISO ???? так и не понял
cd..
exit
)
)
echo %%~ta>temp.tmp
for /f "tokens=1 delims= " %%h in (temp.tmp) do (
echo %%h>temp2.tmp
"C:\Program Files (x86)\UltraISO\UltraISO.exe" -udf -volu %%~nxa -imax -md5 -out "%origFold%%%~nxa_%g%.isz" -file "%%~dpnxa\*"
)
)
Подскажите как реализовать
Заранее благодарен
Последнее редактирование модератором: