Имя: Пароль:
1C
1C 7.7
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 " + ИмяФайлаАрхива + " " +  ТекФайл;
КомандаСистемы(ТекстКоманды);
Независимо от того, куда вы едете — это в гору и против ветра!