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\*"
        )
)
	Подскажите как реализовать
Заранее благодарен
			
				Последнее редактирование модератором: