windows命令行与sh语法区别很大,注意下

.bat脚本


@echo on  set UNITY3D_PROJECT_PATH=d:\happyGit\stareditor  set UNITY3D_BUILD_METHOD=Build.Test  echo %UNITY3D_PROJECT_PATH%  D:\soft\Unity\Editor\2019.3.13f1\Editor\Unity.exe -quit -batchmode -executeMethod %UNITY3D_BUILD_METHOD% -projectPath %UNITY3D_PROJECT_PATH% -logFile D:\build.log -uuu: something  pause


用空格区别参数

unity c#


public static void Test()      {         string[] strs = System.Environment.GetCommandLineArgs();           IoBuffer bi = new IoBuffer();          foreach (var s in strs)         {                         bi.PutString(s);                          if (s.Contains("-uuu:"))             {                 ///string arg = s.Split(':')[1];                 //处理参数//                 Debug.Log("gogogogogo--->s:"+s);                 string a = "tx";                              }         }          byte[] bs = bi.ToArray();         WriteBytes2File("d://testCmd.txt", bs);         bi.Clear();     }



string[] strs = System.Environment.GetCommandLineArgs();
获取到的就是
-quit
-batchmode
-executeMethod
%UNITY3D_BUILD_METHOD%
-projectPath
%UNITY3D_PROJECT_PATH%
-logFile
D:\build.log
-uuu:
something
另外生成的log  build.log中可以看到c#的log