Windows «Отправить в сжатую (заархивированную) папку [в другом месте]»

5695
user66001

Можно ли изменить функцию «Отправить в сжатую (заархивированную) папку», чтобы создать zip-файл в заданном каталоге, а не в текущем каталоге?

Кроме того, любая информация, которой кто-либо может поделиться, о том, как работает эта функция (ярлык, кажется, открывается Compressed (zipped) Folder.ZFSendToTarget, который выглядит как 0-байтовый файл ?!), был бы признателен.

4

1 ответ на вопрос

1
Neil Neyman

Одним из простых решений является установка 7-zip (или другого стороннего инструмента, но, в частности, 7-zip поддерживается в хорошем состоянии, бесплатен и поддерживает обычные zip-файлы, а также другие форматы.)

И при установке убедитесь, что опция включена, чтобы сделать ее обработчиком по умолчанию для zip, что также сделает ее обработчиком для этих сжатых файлов. Но что действительно делает это хорошее решение IMO, так это то, что оно включает несколько настраиваемых параметров контекстного меню, в том числе один для сжатия в папку в заданном месте.

Еще один более сложный вариант, если вы не хотите использовать 7zip, может состоять в том, чтобы создать командный файл для архивирования из командной строки, а затем переместить в нужное место. Затем добавьте этот файл bat в контекстное меню вручную.

Редактирование и обновление на основе комментариев

Встроенная утилита сжатия называется «сжатые папки Windows» и запускается с использованием очень ограниченной функциональности «zipfldr.dll», которая не включает в себя такую ​​возможность как есть через rundll32.exe. Тем не менее, кажется, что есть интерфейс VBScript для него .

Также я должен добавить, что если вы хотите распространять приложение или что-то в этом роде, не требуя от пользователя загрузки другого приложения, другой возможностью было бы включить dll 7zip как часть вашего собственного пакета с оговоркой, которая вам понадобится придерживайтесь того же GPL для вашего приложения.

Спасибо за ваш ответ, Нил Нейман, однако я уже использую 7-zip и просто хотел добавить немного больше функциональности к встроенным опциям для менее важных операций сжатия (к сожалению), не прибегая к пакетным / сценариям, что также [казалось бы, требует загрузки zip utlitity командной строки] (http://serverfault.com/questions/39071/does-windows-have-a-built-in-zip-command-for-the-command-line ). user66001 10 лет назад 0
PS Не предлагал перемещать точку остановки за скобки (IMO - так что это заканчивает предложение, а не только содержимое скобок ... Обезьяна кода во мне) была грамматическая ошибка, я не упомянул об этом как это было очень незначительное изменение :) Интересно, могут ли это быть правила британского английского, учитывая мою страну происхождения? user66001 10 лет назад 0
@ user66001 получил. [Именно в этом и заключается проблема!] (Http://blog.apastyle.org/apastyle/2011/08/punctuating-around-quotation-marks.html) Я действительно имел в виду «этот», поэтому я пересмотрел его, чтобы уточнить. Печатание на планшете - это боль и иногда выдает много мусора. Neil Neyman 10 лет назад 0
@ user66001 Думаю, вам не повезло, потому что этот 0-байтовый файл в основном похож на ярлык. Утилита сжатия использует zipfldr.dll, и эта конкретная встроенная библиотека DLL, похоже, не имеет каких-либо дополнительных функциональных возможностей, которые позволили бы это. Я видел некоторые решения VBScript на Google. Neil Neyman 10 лет назад 0
Спасибо за ссылку - Интересно. Однако мне интересно, не является ли это еще одной, казалось бы, неуловимой попыткой американцев отделить себя от Британии, когда эта страна была основана (z вместо s; формат даты; и т. Д.) :) user66001 10 лет назад 0
Здорово. Зная о zipfldr.dll (как вы узнали, как это называлось?), Я легко нашел http://stackoverflow.com/questions/30211/can-windows-built-in-zip-compression-be-scripted с решениями VBA и VBS. Тем не менее, все еще надеясь, что кто-то с навыками взлома DLL увидит эту ветку когда-нибудь. user66001 10 лет назад 0