前因:
看到了魔型志的一篇推文:https://mp.weixin.qq.com/s/EGoyP1Exjwqb8GU8ljzYOA
这里面介绍了一个鼠标右键在文件夹中创建多个工程文件夹的操作
我之前全部都是使用Qyicker实现的新建一个Maya的工程目录,觉得很方便
感兴趣的可以了解一下Qyicker
看到魔型志的这篇文章后我觉得挺方便,可以不用安装任何软件的情况下实现这一操作
其实以魔型志的教程里面已经写的很清楚了,但是我看评论还是觉得很麻烦,想要一键实现。
我正好也按照以上教程实现了一下,在这里记录一下
写一个批处理
魔型志的批处理代码:
1 2 3 4 5 6 7 8 9 10 11 12
| @echo off mkdir "%~1\Bakes\Meshes" mkdir "%~1\Bakes\ExportTex" mkdir "%~1\Substance\Saves" mkdir "%~1\Substance\Alpha" mkdir "%~1\Substance\Textures" mkdir "%~1\Zbrush\Saves" mkdir "%~1\Zbrush\ImportMeshes" mkdir "%~1\Screenshot" mkdir "%~1\Maya" mkdir "%~1\References" mkdir "%~1\MarvelousDesigner"
|
简单解析一下这个批处理
@echo off
:关闭命令回显,执行命令时不会显示命令本身,只显示输出结果。
使用 mkdir
(Make Directory)命令创建一个新目录。
%~1
:表示批处理文件运行时传递的第一个参数的路径。例如,如果运行命令 script.bat C:\Project
,%~1
就是 C:\Project
。
"%~1\Bakes\Meshes"
:在 %~1
参数指定的路径下,创建 Bakes\Meshes
文件夹。
mkdir
命令可以直接缩写为md
其实这段代码很简单,就是要创建指定的文件夹,二级文件夹就加一个\
我使用的Maya精简工程目录的批处理:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| @echo off md data md images md scenes md sourceimages
more +9 %0 >> workspace.mel exit /b
//Maya 2022 Project Definition
workspace -fr "fluidCache" "cache/nCache/fluid"; workspace -fr "images" "images"; workspace -fr "offlineEdit" "scenes/edits"; workspace -fr "furShadowMap" "renderData/fur/furShadowMap"; workspace -fr "iprImages" "renderData/iprImages"; workspace -fr "renderData" "renderData"; workspace -fr "scripts" "scripts"; workspace -fr "fileCache" "cache/nCache"; workspace -fr "eps" "data"; workspace -fr "shaders" "renderData/shaders"; workspace -fr "3dPaintTextures" "sourceimages/3dPaintTextures"; workspace -fr "translatorData" "data"; workspace -fr "mel" "scripts"; workspace -fr "furFiles" "renderData/fur/furFiles"; workspace -fr "OBJ" "data"; workspace -fr "particles" "cache/particles"; workspace -fr "scene" "scenes"; workspace -fr "furEqualMap" "renderData/fur/furEqualMap"; workspace -fr "sourceImages" "sourceimages"; workspace -fr "furImages" "renderData/fur/furImages"; workspace -fr "clips" "clips"; workspace -fr "depth" "renderData/depth"; workspace -fr "sceneAssembly" "sceneAssembly"; workspace -fr "teClipExports" "Time Editor/Clip Exports"; workspace -fr "movie" "movies"; workspace -fr "audio" "sound"; workspace -fr "bifrostCache" "cache/bifrost"; workspace -fr "autoSave" "autosave"; workspace -fr "mayaAscii" "scenes"; workspace -fr "move" "data"; workspace -fr "sound" "sound"; workspace -fr "diskCache" "data"; workspace -fr "illustrator" "data"; workspace -fr "mayaBinary" "scenes"; workspace -fr "templates" "assets"; workspace -fr "furAttrMap" "renderData/fur/furAttrMap"; workspace -fr "timeEditor" "Time Editor";
|
more +9 %0 >> workspace.mel
:
more
:Windows 中的命令,用于分页显示文本文件的内容。
+9
:表示从第10行开始显示(跳过前9行,从第10行开始)。其实意识就是把第九行以下的内容存入workspace.mel文件
%0
:表示当前批处理文件的自身路径。
>> workspace.mel
:将输出内容追加到 workspace.mel
文件中(而不是覆盖)。
整体意思:从当前批处理文件的第10行开始,将其内容追加到 workspace.mel
文件中。
exit /b
:
exit /b
:结束当前批处理脚本的执行,并返回到调用者(如果在子批处理脚本中调用),不会关闭命令行窗口。
以上就是我日常使用的一个批处理
运行效果如图:
其实就是精简了一下maya自己创建的工程目录,留下了几个常用的目录,你可以根据我上面的解释修改属于你自己的批处理!
结果
下载地址:蓝奏云
以上内容就是教你如何创建属于自己的批处理文件
我上面提供的下载地址的压缩包中包含三个文件,一个是我上面的批处理文件CreateProject.bat
,你可以直接修改这个文件以实现自己创建的指定文件夹的批处理
然后压缩包还包含两个.reg文件,下面我解析一下这两个文件
首先
你要是希望直接双击添加的话还有一个前提条件,就是将CreateProject.bat
存放在:E:\Bat\CreateProject.bat
将值添加到注册表.reg:双击这个文件可以在空白文件夹右键添加一个名称为“创建工程目录”的选项,点击这个选项也就可以执行上面的批处理文件,实现创建文件夹
删除添加的注册内容.reg:有了上面一键添加我又写了一个一键删除,来完成删除上面添加的右键。双击这个,删除上面添加的“创建工程目录”选项
.reg文件就是注册表文件,可以直接使用记事本打开编辑
但是有一点得注意,编辑的时候要是有中文一定到选择ANSI!要是UTF-8双击后鼠标右键的中文字符会乱码!
将值添加到注册表.reg代码内容:
1 2 3 4 5 6 7 8
| Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\createproject] @="创建工程目录(&C)"
[HKEY_CLASSES_ROOT\Directory\Background\shell\createproject\command] @="cmd.exe /c E:\\Bat\\CreateProject.bat %V"
|
解析:
第一句声明,忽略
第二部分就一个属性,决定你鼠标右键那个选项的名称,我的是“创建工程目录”
第三部分就是你这个批处理文件存放的位置,你可以修改为你自己的批处理存放位置,记得使用双斜杠\\
如下图
删除添加的注册内容.reg代码内容:
1 2 3
| Windows Registry Editor Version 5.00
[-HKEY_CLASSES_ROOT\Directory\Background\shell\createproject]
|
解析:
这个就没啥可说的了,就是把上面添加的东西从注册表中删除