首页 > 解决方案 > 在 cmd 上设置应用程序的关联性

问题描述

当我同时使用 Voicemeeter 和 Discord 时,我遇到了这个问题,我的声音只是噼里啪啦。我找到了解决这个问题的方法。这是通过转到任务管理器,前往详细信息,右键单击audiodg.exe,然后将其设置为仅对一个处理器的亲和力。问题是我不想每次启动计算机时都手动完成。有什么方法可以在 cmd 中写入一行代码来改变它吗?这样我就可以把这个通道保存为一个 bat 文件,然后把它放到 shell:startup 中,每次我打开我的电脑时,它都会自动为我做。

非常感谢你。

编辑:

我很抱歉我没有意识到这一点。这是我得到的错误:

C:\Users\borah>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe "$Process = Get-Process audiodg.exe; $Process.ProcessorAffinity=1" Get-Process : 找不到进程名称“audiodg.exe”。验证进程名称并再次调用 cmdlet。在行:1 字符:12

  • $Process = 获取进程audiodg.exe;$Process.ProcessorAffinity=1
  •        ~~~~~~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo : ObjectNotFound: (audiodg.exe:String) [Get-Process], ProcessCommandException
    • FullyQualifiedErrorId : NoProcessFoundForGivenName,Microsoft.PowerShell.Commands.GetProcessCommand

在此对象上找不到属性“ProcessorAffinity”。验证该属性是否存在并且可以设置。在行:1 字符:37

  • $Process = 获取进程audiodg.exe;$Process.ProcessorAffinity=1
  •                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo : InvalidOperation: (:) [], RuntimeException
    • 完全限定错误 ID:PropertyNotFound

标签: cmdaffinity

解决方案


您可以通过键入命令来设置亲和力,如下所示,

Start /affinity 2 notepad

这将启动记事本,同时设置与 CPU 的第二个核心的关联。

在此处输入图像描述

您可以将上述命令保存在以 .cmd 结尾的文件中,然后像任何其他应用程序一样通过双击运行它。或者您可以使用任务计划程序在每次 Windows 启动时启动它,或者您可以将其作为启动应用程序运行。

编辑

如果您的意思是更改已运行进程的亲和力。检查 Mofi 的评论作为解决方案。

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe "$Process = Get-Process audiodg; $Process.ProcessorAffinity=1"

推荐阅读