Pet*_*SVK 4 powershell cmd batch-file unity-game-engine
所以我的问题是,当我刚刚在终端中运行 cmd.exe 时,我得到“&此时出乎意料”。最后出错 - 看起来像这样
所以问题是当我想运行 unity_csc.bat 文件并编译解决方案时,我在 Unity 3D 中遇到了错误。这些错误与我刚运行 cmd.exe 时的错误完全相同 - 因此我怀疑它不是基于 Unity3D 的问题(如果您愿意,可以在此处查看 Unity3D 特定线程https://forum.unity.com/threads/ 2-empty-errors-in-console-was-unexpected-at-this-time.799110/ )
有谁知道为什么会发生这种情况?当我尝试运行 .bat 文件时也会发生这种情况 - 我怀疑这就是我无法编译 Unity 项目的原因
我正在运行带有所有最新更新的 Windows 10
编辑:
由于 cmd /d 没有抛出错误,这个注册表记录可能有问题吗? 
在用户文件夹中,我确实有这个 Autorun 记录
@mode 20,5 & tasklist /FI "IMAGENAME eq SoundMixer.exe" 2>NUL | find /I /N "SoundMixer.exe">NUL && exit & if exist " ( start /MIN "" " & tasklist /FI "IMAGENAME eq explorer.exe" 2>NUL | find /I /N "explorer.exe">NUL && exit & explorer.exe & exit ) else ( tasklist /FI "IMAGENAME eq explorer.exe" 2>NUL | find /I /N "explorer.exe">NUL && exit & explorer.exe & exit )
Run Code Online (Sandbox Code Playgroud)
Stephan提供了关键的指针:
听起来您为cmd.exe;定义了一个损坏的自动运行命令;也就是说,您的注册表定义了一个在您调用 时自动执行的命令,cmd.exe该命令会导致您看到的语法错误。
请注意,无论您是打开交互式cmd会话还是通过批处理文件调用或将命令传递给cmdwith ,都会执行此类命令/C。
传递/D到cmd绕过任何自动运行命令。
注册表中有两个位置可以定义这样的命令,一个在本地机器级别(适用于所有用户),HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor另一个仅用于当前用户HKEY_CURRENT_USER\Software\Microsoft\Command Processor,在名为 的值中AutoRun。
如果在两个位置都定义了HKEY_LOCAL_MACHINE命令,则首先运行 的命令。
要列出任何定义的自动运行命令:
Get-ItemProperty -ea Ignore ('HKCU:', 'HKLM:' -replace '$', '\Software\Microsoft\Command Processor') AutoRun
Run Code Online (Sandbox Code Playgroud)
您可以使用以下 PowerShell 代码段从两个位置删除自动运行命令,但请注意,如果存在本地机器值,则您必须以提升(以管理员身份)运行它:
Get-ItemProperty -ea Ignore ('HKCU:', 'HKLM:' -replace '$', '\Software\Microsoft\Command Processor') AutoRun |
Remove-ItemProperty -Name AutoRun -WhatIf
Run Code Online (Sandbox Code Playgroud)
注意:上面命令中的-WhatIfcommon参数可以预览操作。删除-WhatIf,一旦您确定操作会执行您想要的操作。
| 归档时间: |
|
| 查看次数: |
2839 次 |
| 最近记录: |