import bpy import os # ---------------------------BATCH MAKER------------------ def batchMaker(BIN): if os.name == "nt": print("PLATFORM: WINDOWS") SYSBAR = os.sep EXTSYS = ".bat" QUOTES = '"' else: print("PLATFORM:LINUX") SYSBAR = os.sep EXTSYS = ".sh" QUOTES = '' FILENAME = bpy.data.filepath.rpartition(SYSBAR)[-1].rpartition(".")[0] BINDIR = bpy.app[4] SHFILE = os.path.join( bpy.data.filepath.rpartition(SYSBAR)[0], FILENAME + EXTSYS) renpath = bpy.context.scene.render.filepath with open(SHFILE, "w") as FILE: if not BIN: FILE.writelines(r"'%s' -b '%s' --python-text Text -a" % (bpy.app.binary_path,bpy.data.filepath)) else: FILE.writelines(r"blender -b '%s' --python-text Text -a" % (bpy.data.filepath)) class oscBatchMaker (bpy.types.Operator): """It creates .bat(win) or .sh(unix) file, to execute and render from Console/Terminal""" bl_idname = "file.create_batch_maker_osc" bl_label = "Make render batch" bl_options = {'REGISTER', 'UNDO'} bin : bpy.props.BoolProperty( default=False, name="Use Environment Variable") def execute(self, context): batchMaker(self.bin) return {'FINISHED'}