Upto version 10.6 PJ files are available in both sandbox as well as project. But from 10.7 version this file have been set to hidden in Sandbox location alone. Yes I appreciate its good as many users tampered this PJ file and added as member when copied from other project. But the main problem still exist is, the CLI commands executed on sandbox is completely depend on this PJ file. For example, when user execute the command "si sandboxinfo", then the command expects user to provide --sandbox="..\xx\project.pj". This is highly unacceptable. As the PJ are kept hidden and its impossible to get directly the PJ name from sandbox.
When the same conveyed to PTC, they denied to accept this and refused to raise SPR. The only workaround I have is set the sandbox path to -cwd and executing the command. This is just a work around. But my point is CLI commands should not expect PJ name which is not available in sandbox, to be provided to extract the details.