24

I have a large archive with files that I need to edit, but I don't want to extract / zip every time. Is there a way to edit the files directly while in the archive? I opened them and when I save it prompts for a location.

8 Answers 8

22

7-Zip can do this:

  1. If not already done, would recommend setting the file editor to something better than the Windows standard Notepad, e.g. Notepad++. To do this in 7-Zip, go to Tools -> Options..., select the editor tab and change the "Editor" path (and may as well also change the "View" path) to the relevant executable, e.g. "C:\Program Files (x86)\Notepad++\notepad++.exe" -multiInst. The -multiInst option opens this in a new window - see comment from Simo Kivistö.
  2. Open the archive in 7-Zip.
  3. Locate the file to be edited.
  4. Right-click on the file to edit and select "Edit" (alternative shortcut = F4). Make your changes, save them and close the editor window - 7-Zip will only detect the file has changed when the editor has been closed.
  5. When 7-Zip detects the file has been changed it will display a prompt such as "File 'abc.txt' was modified. Do you want to update it in the archive?". Click on OK and it will then load the changed file back into the zip file, which may take a bit of time.
7
  • 1
    @JinSnow Thanks a lot. Similarly, when the editor is Word, you have to close every open Word window.
    – Noumenon
    Commented Aug 17, 2018 at 0:03
  • 7
    1: In 7-zip option, you can set np++ as editor. 2: If you use np++ to edit 7zip, be careful: saving isn't enough, you have to close np++ (7zip doesn't detect the change unless you close np++)
    – JinSnow
    Commented Aug 21, 2018 at 8:08
  • Can this work on binary files?
    – Wossname
    Commented Oct 18, 2018 at 13:50
  • 3
    Step 1: write the notepad++ path as follows: "C:\Program Files (x86)\Notepad++\notepad++.exe" -multiInst. This way it opens the file in a new window and you only have to close that. Also: F4 is a handy shortcut for opening the file for editing. Commented Mar 23, 2021 at 9:29
  • 1
    Thanks @JinSnow. Having to close notepad++ is a real gotcha. I'd say most people miss that 7zip can edit files in place because of that. Commented May 15, 2021 at 16:23
3

Simple answer is NO. There's no way to tell how big the resulting file will be after edit so it can't just be stored back in the same place in the zipfile. What you might be able to find is a program that allows you to do the extract/edit/rezip without you having to worry about the details yourself. It would help to specify your environment (OS etc).

3

Use Total Commander. Navigate to the archive, hit Enter to enter the specific file you want to modify, hit Save after modify and close the editing program. Total Commander will ask you if you want to update the archive so you hit Yes.

1
  • doesn't work for me, it triggers explorer's unknown file type dialog
    – beppe9000
    Commented May 8, 2019 at 18:00
3

At least on Linux and Windows+Cygwin, you can use vim

It will let you browse inside the ZIP file, choose a text file and press Enter ↵ to edit it

1
1

Open the zip file with winrar, double click an embedded text file, it should open in an external editor. Change and close the text file. Winrar then asks if it should updated the archive with the changed file.

0

Use an editor that can look inside archives.

You don't say what platform you're using. If you use Ubuntu with its default interface, this is completely transparent: click on the archive, then click on the file inside the archive. More generally, open the archive in the Gnome archiver (File Roller) and edit the file in a Gnome application.

Emacs is available for every major desktop platform (and many minor ones) and transparently edits files inside archives (provided the relevant command-line archiving tool is installed).

1
  • I'm using windows 7 and Winrar, for the moment I extracted / edited / re-archived the file which was a pain, but I will try one of these programs if the needs arise, which I'm sure it will, hopefully they work. Commented Sep 23, 2010 at 14:14
0

Use winrar or 7-zip to extract the file you want to edit. Then drag it back into the same directory in winrar/7-zip where you extracted it from in the archive.

-1

Answer: get WinRAR. You drag files into the zip thats opened in winrar and a menu pops up. Just press OK and they are now insaid.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .