Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account


Photo

makecab everything in a folder

- - - - -

  • Please log in to reply
18 replies to this topic

#1
fdv

fdv

    MSFN Expert

  • Developers
  • 1,109 posts
  • OS:Windows 7 x64
  • Country: Country Flag
Hey TP and TC, I found a little file to makecab everything in a folder in some other subforum but it didn't work, and was an abandoned topic. Since HFSLIP has this functionality, would either of you fellows mind terribly posting a file to just do one thing -- makecab every single file in a folder? (Except the utility itself of course, and stopping when all files are done, instead of continuing forever to makecab the files already done once).

It would've helped me during my NT4 odyssey, but truth is I was working so slowly anyway I didn't even think of it :blink:


How to remove advertisement from MSFN

#2
zedox

zedox

    XPize Darkside Author

  • Members
  • PipPipPipPipPip
  • 708 posts
I think the program you might be after is called CabPack.

#3
fdv

fdv

    MSFN Expert

  • Developers
  • 1,109 posts
  • OS:Windows 7 x64
  • Country: Country Flag
Cabpack makes CAB files.

I need to run makecab on every file in a directory to make the files go from

FILE1.EXE
FILE2.EXE

to
FILE1.EX_
FILE2.EX_

#4
ctpooon

ctpooon

    Newbie

  • Members
  • 35 posts
hi fdv,

first, download makecab from the following link
http://support.microsoft.com/kb/310618

then

1. create a empty file
2. copy the code under into the file
3. change c:\makecab to the directory that you would like to make all files into cab
4. save the as makecab.cmd (or anything end with .cmd)
5. put the cmd file next to the bin/MAKECAB.exe you just downloaded from microsoft.
6. double clicking the cmd should make all the files in directory c:\makecab into a xxxx.xx_

rem @echo off
for %%a in (c:\makecab\*.*) do MAKECAB %%a
pause


#5
fdv

fdv

    MSFN Expert

  • Developers
  • 1,109 posts
  • OS:Windows 7 x64
  • Country: Country Flag
Nope. Test first.

Anyone?

Attached Files



#6
Kelsenellenelvian

Kelsenellenelvian

    WPI Guru

  • Developers
  • 8,707 posts
  • OS:Windows 7 x64
  • Country: Country Flag
Xperos eXPander or jcarles Compression bin BOTH do what you are looking for.

#7
ctpooon

ctpooon

    Newbie

  • Members
  • 35 posts

Nope. Test first.

Anyone?


tested again. working on both of my machines.

have a look in your d:\1-windows-NT4 to see if there is any *.*_

Attached Files


Edited by ctpooon, 07 February 2008 - 01:02 AM.


#8
fdv

fdv

    MSFN Expert

  • Developers
  • 1,109 posts
  • OS:Windows 7 x64
  • Country: Country Flag
ctpoon, thanks, but the program only loops forever, and does the same file over and over, and never actually produces any output. No idea why.

Xperos eXPander - Google search, MSFN search produce no results

jcarles Compression bin - relies on framework (but I gotta install framework anyway eventually I suppose).

ctpoon, BTW, does your name mean you are fond of ladies in Connecticut? :sneaky:

#9
tommyp

tommyp

    MSFN Addict

  • Developers
  • 1,678 posts
  • OS:none specified
  • Country: Country Flag
For argument sake, lets say the files you want to compress is located in a folder called INPUT.
Create a folder called OUTPUT and the the compressed files will end up here.
Open a dosbox in the root of the INPUT and OUTPUT.

Put this code in your dosbox.

FOR /F %I IN ('DIR /B INPUT') DO makecab HF\%I /L OUTPUT

If you prefer, you can change the %I to %%I both times if you want to use it in a batch (cmd) file. You'll need to place the cmd file in the same directory as the input and output folders.

#10
Yz÷wl

Yz÷wl

    Wise Owl

  • Super Moderator
  • 4,506 posts
  • OS:Windows 7 x64
  • Country: Country Flag

Donator

I don't know if this is what you want but here goes:

The attached archived 'compiled' batch file (you need to extract it!) takes a directory as a parameter. You do this by dropping your directory onto it.
What happens is that it will makecab all files* in the top level of that directory and upon success delete the uncompressed version.
This action will be performed without showing a console window, so be careful that the process is finished prior to messing with the directory. Also due to this hiding of the console window your anti-malware scanners may warn you about this file. It is of course up to you whether you continue or not.
* - All files will exclude individual files which are already cabbed or cab archives.


Please note that this file was intended for use on Windows XP and may fail in any other OS.

I hope it helps!

Attached Files



#11
fdv

fdv

    MSFN Expert

  • Developers
  • 1,109 posts
  • OS:Windows 7 x64
  • Country: Country Flag
Thanks, Wise; this is awesome... just perfect.
You can advertise it as working in 2000 too BTW.

EDIT: aw, crud. It works, but Windows NT4 cannot extract the files. So the problem is with NT4's EXPAND which probably can be replaced with 2000's. Oddly, when files are compressed in 2000 with the 2000 native MAKECAB, NT4 seems to do fine.

Edited by fdv, 13 February 2008 - 01:20 AM.


#12
Yz÷wl

Yz÷wl

    Wise Owl

  • Super Moderator
  • 4,506 posts
  • OS:Windows 7 x64
  • Country: Country Flag

Donator

My guess is that it's because my executable is using LZX compression which I think wasn't an option in the earlier incarnation of makecab and therefore also in the extraction utility.

In the attachment this time there are two different versions:
  • MSZIP - file ver 1.0.0.1 - This should allow the file to be extracted in the earlier OS
  • LZX - file ver 1.0.0.2 - This is as the previous version I posted, with a small difference.
The difference is that I have included the XP SP2 version of Makecab as part of both of these executables. This gives you the opportunity to run them without worrying about having makecab installed in %PATH% and to guarantee functionality.

Neither have as yet been tested for stupid mistakes!

Attached Files



#13
Kiki Burgh

Kiki Burgh

    MSFN Expert

  • Members
  • PipPipPipPipPipPip
  • 1,426 posts

Xperos eXPander - Google search, MSFN search produce no result

hi fdv! :) here's the new download link for XPero's utilities, specifically eXPander

#14
fdv

fdv

    MSFN Expert

  • Developers
  • 1,109 posts
  • OS:Windows 7 x64
  • Country: Country Flag
Add Compress as a context menu option to .DLL and .EXE files

A bump because I figured out a REALLY simple way to work with files.

Although this won't makecab everything in a folder, it will add Compress as a context menu option to dll and exe files. You can select several of both kinds and it will makecab them all: select as many DLL and EXE files as you want and left click and you will see "Compress" as an option. Select it, and every one of your selected files will be compressed.

[Version]signature="$Windows NT$"[DefaultInstall]AddReg = addreg[addreg]HKCR,"exefile\Shell\Compress\command",,,"%11%\makecab.exe ""%1"""HKCR,"dllfile\Shell\Compress\command",,,"%11%\makecab.exe ""%1"""HKCR,".dl_\Shell\expand\command",,,"%11%\expand.exe -r ""%1"""HKCR,".in_\Shell\expand\command",,,"%11%\expand.exe -r ""%1"""HKCR,".ex_\Shell\expand\command",,,"%11%\expand.exe -r ""%1"""HKCR,".sy_\Shell\expand\command",,,"%11%\expand.exe -r ""%1"""


#15
os2fan2

os2fan2

    Advanced Member

  • Members
  • PipPipPip
  • 421 posts
You could use 'compress.exe' from the resource kit.

compress -r * outputdir

#16
fdv

fdv

    MSFN Expert

  • Developers
  • 1,109 posts
  • OS:Windows 7 x64
  • Country: Country Flag

You could use 'compress.exe' from the resource kit.

compress -r * outputdir


As far as I can see though that creates a dot Z file, it doesn't makecab FILE.SYS >> FILE.SY_

#17
Oleg_II

Oleg_II

    Senior Member

  • Members
  • PipPipPipPip
  • 679 posts
There is a great tool from one of the board members - jdoe. It's here.

I use its previous version with batch files ;) It adds two lines to Send To context menu: "CAB expand" and "CAB make". And it makes File.ex_ from separate files and Folder.cab files from folders :thumbup

Edited by Oleg_II, 11 April 2008 - 06:24 PM.


#18
os2fan2

os2fan2

    Advanced Member

  • Members
  • PipPipPip
  • 421 posts
Compress.exe from the Windows resource kit, is the reverse of Expand.exe.

COMPRESS [-r] [-d] [-z] Source Destination
COMPRESS -r [-d] [-z] Source [Destination]

  -r			Rename compressed files.
  -d			Update compressed files only if out of date.
  -zx		   LZX compression.
  -z			MS-ZIP compression.
  -zq[n]		Quantum compression and optional level
				(in range 1-7, default is 4).
  Source		Source file specification.  Wildcards may be used.
  Destination   Destination file | path specification.
				Destination may be a directory.
				If Source is multiple files and -r is not specified,
				Destination must be a directory.

The level of compression given by makecab is identical with compress -r -zx filename outdir

By itself, compress -r file outdir, gives a compression identical with Windows 3.10 (any kind).

For windows XP and above ye find compress.exe in the reskit. For 2k, it is rath found by google.

#19
ritter_devil

ritter_devil
  • Members
  • 5 posts
rem @echo off
for %%a in (*.*) do MAKECAB %%a
pause
_______________________________________________

Put this script in your folder with files you want to cabcompress
Make sure that at the end you delete cabcompressed cmd file.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users



How to remove advertisement from MSFN