Ez a példa azt mutatja be, hogyan exportálhat DWG-fájlokat több mappából egyszerre. Egy továbbfejlesztett kötegfájlt használ, amely tartalmaz hibaészlelési és naplózási funkciókat is.
A kötegfájl három paramétert kap minden egyes végrehajtásakor:
Az előző példában minden DWG-fájlnak rendelkeznie kellett egy exportálási profillal. Ez a példa lehetővé teszi a fájlnak megfelelő profil vagy egy alapértelmezett profil használatát. Ha a DWG-fájl nem rendelkezik saját profillal, a művelet az alapértelmezett profilt használja.
A naplófájl minden egyes DWG-fájl teljes parancs ablakának előzményeit naplózza. A copyhist AutoCAD parancsot használja, amely a parancs ablak előzményeit a rendszer vágólapjára helyezi. Az előzmény másolására a naplófájlba ez a példa a winclip.exe programot használja, amely egy ingyenes, nyílt forráskódú eszköz.
A kötegfájl meghívható egy „külső” kötegfájlból: ez egy mester kötegfájl, amely csak a paramétereket megadó, alárendelt kötegfájlra vonatkozó hívásokat tartalmazza.
Tegyük fel például, három város rajzával rendelkezik. Ha a kötegelt művelet exportálja az egyik város rajzait egy mappából, a külső kötegfájl a következőket tartalmazhatja:
batchexport Redding\DWGs Redding\SDFs Redding\DefExport.epf batchexport Spokane\DWGs Spokane\SDFs Spokane\DefExport.epf batchexport Dubuque\DWGs Dubuque\SDFs Dubuque\DefExport.epf
A módszer használatához adjon meg minden híváshoz egy különböző export.log fájlt, vagy helyezze át a következő sort a külső kötegfájlba: if exist export.log del export.log. Ellenkező esetben mindegyik hívás felülírja az előző naplót.
A következő minta termelési kötegfájl neve: batchexport.bat. Az előző eljárásokhoz hasonlóan a Jegyzettömbben hozhatja létre.
@echo off setlocal rem Get and verify the command parameters set srcDir=%1 set outDir=%2 set defEpf=%3 if '%srcDir%' == '' goto usage if '%outDir%' == '' goto usage if '%defEpf%' == '' goto usage if not exist %srcDir% ( echo Source Directory "%srcDir%" not found. goto done ) if not exist %srcDir%\*.dwg ( echo No DWG files found in "%srcDir%". goto done ) if not exist %outDir% ( echo Destination Directory "%outDir%" not found. goto done ) if not exist %defEpf% (echo Default Export Profile "%defEpf%" not found. goto done ) if exist export.log del export.log rem Loop through the DWGs, exporting each for %%f in (%srcDir%\*.dwg) do ( if exist %outDir%\%%~nf.sdf del %outDir%\%%~nf.sdf echo. >> export.log echo ******* EXPORTING %%f TO %outDir%\%%~nf.sdf ******* >> export.log echo ******* EXPORTING %%f TO %outDir%\%%~nf.sdf ******* rem Create the Export Script ... echo _-mapexport> export.scr echo FDO_SDF>> export.scr echo %outDir%\%%~nf.sdf>> export.scr echo _yes>> export.scr if exist %%~df%%~pf%%~nf.epf ( rem Use a profile that has the same name as the DWG echo %%~df%%~pf%%~nf.epf>> export.scr ) else ( rem Use the default profile echo %defEpf%>> export.scr ) echo _proceed>> export.scr echo _copyhist>> export.scr echo _quit>> export.scr "C:\Program Files\AutoCAD Map 3D 2009\acad.exe" %%f /nologo /b export.scr winclip -p >> export.log ) goto done :usage echo USAGE: %0 [sourceDir] [destDir] [defaultExportProfile] echo example: %0 Redding\dwgs Redding\sdfs Redding\defExport.epf :done
Létrehozott egy továbbfejlesztett kötegfájlt hibaészlelési és naplózási képességekkel a DWG-fájlok több mappából egyszerre történő exportálásához.