command-line-arguments - 使用最近的文件批量运行 Maya
问题描述
我尝试制作一个批处理文件,该文件基本上可以打开我需要工作的所有内容。打开 Maya 非常简单,但我还想做一步:让它打开我最后打开的文件。如果我从命令行了解文档Start Maya
我可以试试这个:
path/to/maya.exe -command [some MEL commands that may open the last opened file]
但我不知道如何 MEL,我想它作为一个 Windows 批处理工作,我必须将它保留为一个命令行。我尝试阅读文档,但找不到任何可以使用的东西。
python("recent = cmds.optionVar(q='RecentFilesList')[-1]; cmds.file (recent, force=True, open=True)")
问题:
- 我找不到通过批处理将引号正确解析到 Maya 的方法。
- 文件命令需要先保存文件才能工作...
解决方案
感谢这个答案:
- 使用
force=True
incmds.file (recent, force=True, open=True)
强制文件命令工作而无需先保存文件 \
在命令前使用一个反斜杠将"
它们正确解析为 Maya
"path\to\maya.exe" -command "python(\"recent=cmds.optionVar(q='RecentFilesList')[-1]; cmds.file (recent, force=True, open=True)\")"
解决方案
通常你用 \" 替换一个 " 来获得一个工作的 mel 命令。因此,如果您可以这样做:
"python(\"recent = cmds.optionVar(q='RecentFilesList')[-1]; cmds.file (recent, open=True)\")"
但老实说,我没有将它作为命令行参数进行测试。
您可以强制修改文件命令:
cmds.file(recent, force=True, open=True)