Я использую командную строку 7zip, 7za, чтобы сжать папку на веб-сервере Windows 2008 R2.

7za.exe a -tzip -r %nome_file% "C:\inetpub"

Я ожидаю, что он сжимает все в папке "inetpub", но он сжимает или пытается сжать файлы и папки вне пути. У меня в файле журнала следующие сообщения:

C:\$Recycle.Bin\S-1-5-21-1548477359-4160443295-2229684838-500\:  WARNING: Access is denied.
C:\Config.Msi\:  WARNING: Access is denied.
C:\Documents and Settings\:  WARNING: Access is denied.

Зачем? Что странно, так это то, что некоторые из этих мест даже не существуют. На диске «C:\» нет «C:\Documents and Settings\».

1 ответ1

3

Избавиться от -r. Это не делает то, что вы думаете, что делает.

C:
cd \
7za a -tzip -mx=9 -mfb=258 -mpass=15 -mfb=258 C:\temp\filename.zip inetpub

(Это мой предпочтительный синтаксис, который делает вещи немного медленнее, чтобы максимизировать сжатие.)

Это создаст файл, который вы запрашиваете, используя указанный подкаталог.

Кажется, вы думаете, что -r будет содержать указанный подкаталог и все подкаталоги под ним. Нет, это по умолчанию. Смысл -r - искать в подкаталогах файл / подкаталог с указанным вами именем. Итак, C: ищется что-то под названием inetpub. Вы получаете предупреждения об отказе в доступе, так как C: выполняется поиск. Это не тот эффект, который вы пытаетесь осуществить. Так что просто избавьтесь от -r

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .