|
v7: 7-zip, добавление в архив из командной строки файлов с пробелами в имени |
☑ |
0
tesei
01.03.21
✎
13:36
|
Работает, но не включает файлы с пробелами:
ТекстКоманды = """C:\Program files\7-Zip\7z.exe""" + " a -mx9 " + ИмяФайлаАрхива + " " + ТекФайл;
КомандаСистемы(ТекстКоманды);
Не работает вообще:
ТекстКоманды = """C:\Program files\7-Zip\7z.exe""" + " a -mx9 " + ИмяФайлаАрхива + " """ + ТекФайл + """";
КомандаСистемы(ТекстКоманды);
Какой синтаксис правильный?
|
|
1
timurhv
01.03.21
✎
13:53
|
Использую такой скрипт для сжатия папок в bat
set _in=E:\_in
set _out=E:\_out
set _numberCPU=8
set _compression=9
set _arcpath=c:\Program Files\7-zip
for %%i in (%_in%\*.*) do "%_arcpath%\7z" -mx=%_compression% -mmt=%_numberCPU% a "%_out%\%%~ni.7z" "%%i"
for /d %%i in (%_in%\*.*) do "%_arcpath%\7z" -mx=%_compression% -mmt=%_numberCPU% a "%_out%\%%~ni.7z" "%%i"
|
|
2
spectre1978
01.03.21
✎
13:55
|
Второй выглядит правильнее, почему не работает - надо разбираться, в частности, посмотрев на сформированную строку.
|
|
3
tesei
01.03.21
✎
15:13
|
(1) (2) Спасибо за участие. Рабочий вариант:
ТекФайл = СтрЗаменить(ТекФайл, " ", "^ ");
ТекстКоманды = """C:\Program files\7-Zip\7z.exe""" + " a -mx9 " + ИмяФайлаАрхива + " " + ТекФайл;
КомандаСистемы(ТекстКоманды);
|
|