@Sajjo For some reason I can't match sizes of all .cab files. I can match precopy1.cab size, precopy2.cab size (only if precopy3.cab doesn't exist) but not precopy3.cab. Code: ; Diamond_Directive File ; .Option Explicit .Set SourceDir=".\precopy1" .Set DiskDirectoryTemplate=".\" .Set DiskLabel1=1 .Set DiskLabel2=2 .Set DiskLabel3=3 .Set CabinetName1=PRECOPY1.CAB .Set CabinetName2=PRECOPY2.CAB .Set CabinetName3=PRECOPY3.CAB .Set MaxDiskSize1=135680 .Set MaxDiskSize2=1802240 .Set CabinetFileCountThreshold=0 .Set FolderFileCountThreshold=0 .Set FolderSizeThreshold=1000000 .Set UniqueFiles=OFF .Set RptFileName=nul .Set InfFileName=nul .Set cabinet=ON .Set Compress=ON .Set CompressionType=lzx .Set CompressionMemory=21 .Set ReservePerCabinetSize=0 ; PRECOPY1.CAB dblspace.bat defrag.bat drvspace.bat scandisk.bat sucheck.bat sufail.bat coll0.bin coll1.bin coll10.bin coll11.bin coll12.bin coll13.bin coll14.bin coll15.bin coll16.bin coll17.bin coll18.bin coll19.bin coll2.bin coll3.bin ; PRECOPY2.CAB 1394.inf 9xmig.dll adapter.inf amovie.inf apcompat.inf applets.inf applets1.inf atitunep.inf atixbar.inf awfax.inf awupd.inf bt829.inf cemmf.inf certify.inf cfgwiz.dll cfgwiz32.exe coll4.bin coll5.bin coll6.bin coll7.bin coll8.bin coll9.bin comctl31.dll command.com commctrl.dll commdlg.dll complinc.dll content.inf copy.inf copy1.inf copy2.inf cwbaud98.inf dbc.inf del.inf del1.inf del2.inf deskmgmt.inf dindi.dll diskdrv.inf dlcndi.dll dosbox.inf drivers.ddb drvspace.bin dskmaint.dll dvd.inf dxati.inf dxchips.inf dxcirrus.inf dxglint.inf dxi128.inf dxmedia.inf dxmga.inf dxmm3dfx.inf dxneom.inf dxnvidia.inf dxpmedia.inf dxrend.inf dxs3.inf dxtrans.inf dxtrid.inf dxtseng.inf dxwd.inf enable.inf ethpcmdm.inf ethpcmf.inf ethpcnet.inf eudcedit.inf f3audio.inf fefonts.inf fommctrl.dll fonts.inf gps.inf guid.inf hiddev.inf hwinfo.exe ibm4mir.inf ibmeimp.inf ics.inf icshare.inf icsharep.inf icw97.inf ie.inf iedat16.inf iefiles.inf ieshell.inf image.inf ime.inf inetmail.inf infrared.dll infrared.inf instcm16.inf issetup.dll isupport.inf joystick.inf keyboard.inf kommctrl.dll ks.inf kscaptur.inf ksfilter.inf locale.inf lzexpand.dll machine.inf machine2.inf mdacinst.inf mdm3cusb.inf mdmgl001.inf mdmgl002.inf mdmgl003.inf mdmgl004.inf mdmgl005.inf mdmgl006.inf mdmgl007.inf mdmgl100.inf mdmluc.inf mf.inf mf8020m.inf mfcem28.inf mfcem33.inf mfosi.inf midi.inf modems.inf monitor.inf monitor2.inf monitor3.inf monitor4.inf monitor5.inf monitor6.inf monitor7.inf monitr10.inf monitr11.inf motown.inf mpcodecs.inf mplay98.inf msbase.inf mscdrom.inf msddraw.inf msdet.inf msdisp.inf msdos.inf msdsound.inf msdv.inf msdxwin.inf msfdc.inf msinfo.inf msjava16.inf msmail.inf msmouse.inf msnclnup.inf msports.inf msprint.dll msprint.inf msprint2.dll msprint2.inf msprint3.inf msprint4.inf mstask.inf mstcp.dll mtd.inf mullang.inf multilng.inf ndiswan.inf ndswan16.dll ndswan32.dll net100i.inf net2xnet.inf net3c562.inf net3c575.inf net3c589.inf net3com.inf net3comt.inf net557.inf net8020m.inf neta351.inf netamd.inf netapi.dll netatki.inf netblue.inf netbw.inf netcable.inf netcbdec.inf netcbe.inf netce2.inf netce3.inf netcem.inf netcem28.inf netcem33.inf netcli.inf netcli3.inf netcpq.inf netcrc.inf netdec.inf netdef.inf netdi.dll netdl660.inf netdlc.inf nete100i.inf nete10p.inf netee16.inf netejet.inf netel59x.inf netel5x9.inf netel90x.inf netenet.inf netepc.inf netex10.inf netfake.inf netfam.inf netfar.inf netfjvi.inf netfjvj.inf netfl32.inf netflex.inf netfore.inf netgen.inf nethp.inf nethpind.inf nethppci.inf nethppnd.inf netibm.inf netibm1.inf netibm2.inf netibmv.inf neticard.inf netinfo.inf netlane.inf netm16a.inf netm32a.inf netmadge.inf netmatmc.inf netmdyp.inf netmhz.inf netnepls.inf netnf3.inf netnice.inf netnovel.inf neto100.inf netoca1p.inf netoce3x.inf netoce4x.inf netoli.inf netos.dll netosi.inf netpci.inf netppp.inf netpptp.inf netpro10.inf netprot.inf netrnsf.inf netrptip.inf netrt.inf netrtf.inf netservr.inf netsilc.inf netsmc.inf netsmc1.inf netsmc2.inf netsmctr.inf netsnip.inf netsock.inf netstrm.inf nettcc.inf nettdkp.inf nettlan.inf nettpro.inf netxir.inf nodriver.inf ntmap.inf nwnds.dll oce2xmf.inf octkmf.inf octknet.inf oe9x50.inf ole2.inf oobeinst.inf osr2.inf osrcln.inf pcmcia.inf pcmciamf.inf pidgen.dll powercfg.inf pppndi.dll predrv.inf prtupd.inf pwsinfo.inf regwiz.inf ren.inf rna.inf rnaserv.dll rnasetup.dll sb16awe.inf sbp2.inf scanreg.exe scsi.inf sctools.inf shell.dll shell.inf shell2.inf subackbb.bin suexpand.dll sulfnbk.exe suwin.exe sysdetmg.dll ver.dll verx.dll win3x.csb win95.csb win95bb.dll win98.csb win98u.csb winsock.dll wsock32.dll ; PRECOPY3.CAB appletpp.inf atmuni.inf axa.inf cabpayie.inf cchat25.inf clip.inf cxpdfgo.inf cxpdfpci.inf decpsmw4.inf default.sfc didiva.inf digiisdn.inf diwan.inf drvspace.sys easyisdn.inf grouppol.inf ieeula.chm iesupp.chm imagevue.inf infoisdn.inf layout.inf layout1.inf layout2.inf license.chm license.txt lic_help.txt mfdfgo.inf mfdfpci.inf mmopt.inf mpsupp.hlp msdxddex.inf mshdc.inf msnetmtg.inf mtshelp.chm ncplatfm.inf ncwandis.inf ndscli.inf net.inf netaic59.inf netcd.inf netcmdr.inf netdca.inf netdet.ini netdfgo.inf netdfpci.inf netdlc32.inf neteni25.inf netevx.inf netibmtb.inf netncr.inf netracal.inf netsmc32.inf nettrans.inf nettulip.inf netub.inf netznote.inf ols.inf precopy.inf pws_main.htm rplimage.dll sampler.inf scanreg.pif setupc.inf setuppp.inf setupx.dll shell3.inf support.txt swdir16.inf swenum.inf swflsh16.inf taishid.inf tapi.inf themes.inf themes1.inf themes2.inf timezone.inf tour98.inf tshoot.inf umaxusd.inf unimodv.inf unknown.inf usb.inf usbcdc.inf usbwave.inf usp10.inf vdolive.inf vgx.inf vidcap.inf wab9x50.inf wan.tsp wave.inf wbem.inf wdmaudio.inf wdmfs.sys webfdr16.inf webhelp.chm win95bb.ini winboot.sys winver.inf winver1.inf wmidrv.sys wordpad.inf wpwin98.inf ws2atmsp.inf wsh.inf What should I do? 795.7 KB(814,846 Bayt) vs. 812.7 KB(832,188 Bayt).
@example12345678912345678 Can't you just use some of the coding i presented for 2 precopy cab's and 3 precopy cab's? They work perfectly in size comparison. I would suggest in the sequence where you unpack original cab's to echo output to directive file Code: Set MaxDiskSize1=%~z1 Set MaxDiskSize2=%~z2 Turn on echo and add a few breaks in your script, see if you can catch the culprit. If you like, PM me you're script and whitch files you use and I can help you (the best i can ofc)