CMD/BAT - [решено] упаковка содержимого файлов в cab архив
-
tr011_tmn
CMD/BAT - [решено] упаковка содержимого файлов в cab архив
столкнулся с задачей: мне необходимо запаковать файлы находящиеся в папке, в Cab (грубо говоря win32k.sys запаковать в win32k.sy_). Возможно ли это реализовать средствами CMD?
-
tr011_tmn
Re: CMD/BAT - [решено] упаковка содержимого файлов в cab архив
tr011_tmn, наберите в ком. строке makecab.exe /? получите это:
Цитата:
Microsoft (R) Cabinet Maker - Version 5.1.2600.5512
Copyright (c) Microsoft Corporation. All rights reserved..
MAKECAB [/V[n]] [/D var=value ...] [/L dir] source [destination]
MAKECAB [/V[n]] [/D var=value ...] /F directive_file [...]
source File to compress.
destination File name to give compressed file. If omitted, the
last character of the source file name is replaced
with an underscore (_) and used as the destination.
/F directives A file with MakeCAB directives (may be repeated).
/D var=value Defines variable with specified value.
/L dir Location to place destination (default is current directory).
/V[n] Verbosity level (1..3).
Перевод думаю осилите...
Цитата:
Microsoft (R) Cabinet Maker - Version 5.1.2600.5512
Copyright (c) Microsoft Corporation. All rights reserved..
MAKECAB [/V[n]] [/D var=value ...] [/L dir] source [destination]
MAKECAB [/V[n]] [/D var=value ...] /F directive_file [...]
source File to compress.
destination File name to give compressed file. If omitted, the
last character of the source file name is replaced
with an underscore (_) and used as the destination.
/F directives A file with MakeCAB directives (may be repeated).
/D var=value Defines variable with specified value.
/L dir Location to place destination (default is current directory).
/V[n] Verbosity level (1..3).
Перевод думаю осилите...

-
tr011_tmn
Re: CMD/BAT - [решено] упаковка содержимого файлов в cab архив
Цитата gora:
tr011_tmn, наберите в ком. строке makecab.exe /? получите это:
огромное спасибо, обратный процесс я нашел как выполнить, а вот с этим все никак не мог разобраться
tr011_tmn, наберите в ком. строке makecab.exe /? получите это:
CMD/BAT - [решено] упаковка содержимого файлов в cab архив
огромное спасибо, обратный процесс я нашел как выполнить, а вот с этим все никак не мог разобраться
-
gora
Re: CMD/BAT - [решено] упаковка содержимого файлов в cab архив
tr011_tmn, наберите в ком. строке makecab.exe /? получите это:
Цитата:
Microsoft (R) Cabinet Maker - Version 5.1.2600.5512
Copyright (c) Microsoft Corporation. All rights reserved..
MAKECAB [/V[n]] [/D var=value ...] [/L dir] source [destination]
MAKECAB [/V[n]] [/D var=value ...] /F directive_file [...]
source File to compress.
destination File name to give compressed file. If omitted, the
last character of the source file name is replaced
with an underscore (_) and used as the destination.
/F directives A file with MakeCAB directives (may be repeated).
/D var=value Defines variable with specified value.
/L dir Location to place destination (default is current directory).
/V[n] Verbosity level (1..3).
Перевод думаю осилите...
Цитата:
Microsoft (R) Cabinet Maker - Version 5.1.2600.5512
Copyright (c) Microsoft Corporation. All rights reserved..
MAKECAB [/V[n]] [/D var=value ...] [/L dir] source [destination]
MAKECAB [/V[n]] [/D var=value ...] /F directive_file [...]
source File to compress.
destination File name to give compressed file. If omitted, the
last character of the source file name is replaced
with an underscore (_) and used as the destination.
/F directives A file with MakeCAB directives (may be repeated).
/D var=value Defines variable with specified value.
/L dir Location to place destination (default is current directory).
/V[n] Verbosity level (1..3).
Перевод думаю осилите...

-
E-mpty
Re: CMD/BAT - [решено] упаковка содержимого файлов в cab архив
Цитата E-mpty:
tr011_tmn, может пригодится: упакует все файлы в папке в CAB (путь заменить на свой С: -диск ,33 -название папки). Код: For %%I In (С:\33\*.*) Do START /WAIT MAKECAB.exe "%%~I" (запакованные файлы появится там от куда был запущен пакетный файл....)
вопрос заключается в том каким образом он их упакует, если в один архив то мне это не подходит.
На данный момент реализовал что бу упаковка проходила через относительные пути, грубо говоря что бы туда же и положел. но выглядит это конечно ужасно. Т.к. для каждого из файлов приходится использовать makecab а после вуд Del /F /Q что бы удалить оригинал из папки.Страшно подумать что будет когда я буду упаковывать более 200 файлов
(сейчас около ста)
tr011_tmn, может пригодится: упакует все файлы в папке в CAB (путь заменить на свой С: -диск ,33 -название папки). Код: For %%I In (С:\33\*.*) Do START /WAIT MAKECAB.exe "%%~I" (запакованные файлы появится там от куда был запущен пакетный файл....)
CMD/BAT - [решено] упаковка содержимого файлов в cab архив
вопрос заключается в том каким образом он их упакует, если в один архив то мне это не подходит.
На данный момент реализовал что бу упаковка проходила через относительные пути, грубо говоря что бы туда же и положел. но выглядит это конечно ужасно. Т.к. для каждого из файлов приходится использовать makecab а после вуд Del /F /Q что бы удалить оригинал из папки.Страшно подумать что будет когда я буду упаковывать более 200 файлов
(сейчас около ста)-
tr011_tmn
Re: CMD/BAT - [решено] упаковка содержимого файлов в cab архив
tr011_tmn, нет каждый файл в отдельный архив....Если надо все упаковать в текущей папке а потом удалить не упакованные,то можно поступить таким образом:создать заранее список неупакованных файлов(такая функция есть в file menu tools например или средствами ком.строки code: dir С:\33 /B /O > С:\MC.txt )пусть он называется MC.txt, применить упаковку файлов,а потом удалить не упакованные файлы по списку code: For /F "Delims=" %%i In (C:\33\MC.txt) Do Del %%i (MC.txt должен лежать рядом с пакетным файлом....)
-
E-mpty
Re: CMD/BAT - [решено] упаковка содержимого файлов в cab архив
tr011_tmn, нет каждый файл в отдельный архив....Если надо все упаковать в текущей папке а потом удалить не упакованные,то можно поступить таким образом:создать заранее список неупакованных файлов(такая функция есть в file menu tools например или средствами ком.строки code: dir С:\33 /B /O > С:\MC.txt )пусть он называется MC.txt, применить упаковку файлов,а потом удалить не упакованные файлы по списку code: For /F "Delims=" %%i In (C:\33\MC.txt) Do Del %%i (MC.txt должен лежать рядом с пакетным файлом....)
-
tr011_tmn
Re: CMD/BAT - [решено] упаковка содержимого файлов в cab архив
E-mpty, попробую ваш совет, но это уже будет после завтра на работе, а как быть с относительными путями?
если использовать подобную связку:
Код:
Как вы думаете удасться ли добится требуемого результата?
P.S.
Код:
Не дало результата. Не найден путь пишет (((
если использовать подобную связку:
Код:
Код: Выделить всё
SET Dir=Folder1
SET TMP=C:\temp
echo основное тело программы
DIR %DIR% /B /O > %TMP%\DIR.TXT
FOR %%I in (%DIR%\*.*) do START /WAIT makecab.exe "%%~I" /F %tmp%\DIR.TXT /L %DIR%
FOR /F "Delims=" %%i In (%tmp%\DIR.TXT ) Do Del %%iКак вы думаете удасться ли добится требуемого результата?
P.S.
Код:
Код: Выделить всё
SET Dir=C:\1
SET TMP=C:\temp
md %TMP%
pause
echo основное тело программы
DIR %DIR% /B /O > %TMP%\DIR.TXT
FOR %%I in (%DIR%\*.*) do START /WAIT makecab.exe "%%~I" /F %tmp%\DIR.TXT /L %DIR%
FOR /F "Delims=" %%i In (%tmp%\DIR.TXT ) Do Del %%i
pause
Del /F /Q %TMP%
pauseНе дало результата. Не найден путь пишет (((
-
gora
Re: CMD/BAT - [решено] упаковка содержимого файлов в cab архив
Цитата gora:
tr011_tmn, избегайте использования в качестве имен переменных ключевых слов cmd интерпретатора (SET Dir=C:\1) Так же лучше не использовать в качестве имен переменных - имена системных переменных, если Вы не меняете именно системную переменную (SET TMP=C:\temp), лучше не искушать судьбу.
тут приведено конечно в виде примера, на практике использую имена не связанные с переменными операционной системы.
tr011_tmn, избегайте использования в качестве имен переменных ключевых слов cmd интерпретатора (SET Dir=C:\1) Так же лучше не использовать в качестве имен переменных - имена системных переменных, если Вы не меняете именно системную переменную (SET TMP=C:\temp), лучше не искушать судьбу.
CMD/BAT - [решено] упаковка содержимого файлов в cab архив
тут приведено конечно в виде примера, на практике использую имена не связанные с переменными операционной системы.
-
tr011_tmn
Re: CMD/BAT - [решено] упаковка содержимого файлов в cab архив
tr011_tmn, попробуйте так:
Код:
Скрипт упакует все файлы в папке C:\1 по отдельности в эту же папку и удалит из нее оригиналы. Временный файл список тоже удаляется.
Код:
Код: Выделить всё
@Echo off
SET Folder=C:\1
echo Compress and delete all files on folder: %Folder%
DIR %Folder% /B /O > %TMP%\FileList.TXT
FOR /F "Delims=" %%I in (%TMP%\FileList.TXT) do (
echo Compress file: %Folder%\%%I
makecab.exe "%Folder%\%%I" /L %Folder%>nul
Del /F /Q "%Folder%\%%I"
)
Del /F /Q %TMP%\FileList.TXT
pause>nulСкрипт упакует все файлы в папке C:\1 по отдельности в эту же папку и удалит из нее оригиналы. Временный файл список тоже удаляется.