Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: 7-zip, добавление в архив из командной строки файлов с пробелами в имени

v7: 7-zip, добавление в архив из командной строки файлов с пробелами в имени
Я
   tesei
 
01.03.21 - 13:36
Работает, но не включает файлы с пробелами:
ТекстКоманды = """C:\Program files\7-Zip\7z.exe""" + " a -mx9 " + ИмяФайлаАрхива + " " + ТекФайл;
КомандаСистемы(ТекстКоманды);

Не работает вообще:
ТекстКоманды = """C:\Program files\7-Zip\7z.exe""" + " a -mx9 " + ИмяФайлаАрхива + " """ + ТекФайл + """";
КомандаСистемы(ТекстКоманды);

Какой синтаксис правильный?
   timurhv
 
1 - 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"
   spectre1978
 
2 - 01.03.21 - 13:55
Второй выглядит правильнее, почему не работает - надо разбираться, в частности, посмотрев на сформированную строку.
   tesei
 
3 - 01.03.21 - 15:13
(1) (2) Спасибо за участие. Рабочий вариант:

ТекФайл = СтрЗаменить(ТекФайл, " ", "^ ");
ТекстКоманды = """C:\Program files\7-Zip\7z.exe""" + " a -mx9 " + ИмяФайлаАрхива + " " +  ТекФайл;
КомандаСистемы(ТекстКоманды);

Список тем форума
Рекламное место пустует  Рекламное место пустует
Здесь во втором сообщении вам дадут решение, а в двадцатом дадут правильное решение. Ymryn
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.