找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 26363|回复: 6

[已解决]请教!如果用批处理更改某进程的CPU关联和优先级?

[复制链接]
发表于 2015-9-12 22:51:09 | 显示全部楼层 |阅读模式
本帖最后由 avi33 于 2015-9-13 00:39 编辑

大大们,请教一下

怎么用批处理更改某个进程的CPU关联?
比如我想让红警2的程序game.exe和ra2.exe只关联CPU0,请问怎么写?

还有修改这两个进程的优先级为“实时”!

谢谢!

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2015-9-12 23:36:08 | 显示全部楼层
本帖最后由 pcl_test 于 2015-9-12 23:41 编辑

设置进程优先级为“实时”
  1. @echo off
  2. for %%a in ("game.exe" "ra2.exe") do wmic process where name="%%~a" call setpriority 256
  3. pause
  4. ::64 Idle 优先级–低
  5. ::16384 Below Normal 优先级–低于标准
  6. ::32 Normal 优先级–标准
  7. ::32768 Above Normal 优先级–高于标准
  8. ::128 High Priority 优先级–高
  9. ::256 Real Time 优先级–实时
复制代码

评分

参与人数 1技术 +1 收起 理由
avi33 + 1 乐于助人

查看全部评分

 楼主| 发表于 2015-9-12 23:45:48 | 显示全部楼层
谢谢,请问指定CPU0或CPU1运行,这个可以实现吗?
 楼主| 发表于 2015-9-12 23:50:17 | 显示全部楼层
如果批处理不能实现,其他的能实现吗?非常感谢
发表于 2015-9-13 00:07:14 | 显示全部楼层
 楼主| 发表于 2015-9-13 00:36:26 | 显示全部楼层
谢谢!:)
发表于 2015-9-13 13:32:08 | 显示全部楼层
本帖最后由 pcl_test 于 2015-9-13 13:54 编辑
  1. @echo off 2>nul 3>nul
  2. ::需要安装.Net Framework 2.0及以上
  3. set "netpath=%systemroot%\Microsoft.NET\Framework"
  4. for /f "delims=" %%a in ('dir /ad /b "%netpath%\v?.*"') do (
  5.     if exist "%netpath%\%%a\csc.exe" (
  6.         set "cscpath=%netpath%\%%a\csc.exe"
  7.         goto :0
  8.     )
  9. )
  10. :0
  11. >"%tmp%\$" more +15 "%~f0"
  12. "%cscpath%" /out:"%tmp%\$SetAffinity.exe" "%tmp%\$"
  13. "%tmp%\$SetAffinity.exe"
  14. pause&exit
  15. ::C# codes 参考http://caoshugui.blog.163.com/blog/static/25375653200910115329888/
  16. using System;
  17. using System.Diagnostics;
  18. namespace SetAffinity{
  19.     class Myclass{
  20.         static void Main(string[] args){
  21.             //设置需修改CPU相关性的进程名
  22.             String[] proname = new String[]{"game","ra2"};
  23.             for (int i=0; i<proname.Length; i++){
  24.                 Process pro = Process.GetProcessesByName(proname[i])[0];
  25.                 //设置CPU相关性为cpu0
  26.                 pro.ProcessorAffinity = (System.IntPtr)1;
  27.             }
  28.         }
  29.     }
  30. }
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 14:39 , Processed in 0.016509 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表