微软的说明:
为 Windows Vista 撰写的大部分程式也可在此版的 Windows 中运作,但部分旧版的程式可能无法正常执行或完全无法执行。如果针对旧版 Windows 撰写的程式无法正常执行,您可以手动或使用 [程式相容性疑难排解员] 来尝试变更程式的相容性设定。
好像没有可以一次设定数十个执行档的辨法...
很幸运的我遇到了,一个一个设定也花了十几二十分虽然没有很久,一直重複一样的操作给他有点浪费时间,怎么会有套装软体包了几十个的执行档丫.....
@ECHO OFFGOTO Bye:HEADSET TAG=HEADSET Q=6CLSECHO.ECHO 您原来执行的系统是那一个?ECHO 请依下列入编号输入.ECHO =====================================================================ECHO. 1.Windows 95 Win95ECHO. 2.Windows 98/Me Win98ECHO. 3.WindowsNT 4.0(SP5) NT4SP5ECHO. 4.Windows2000 Win2000ECHO. 5.WindowsXP(SP2) WinXPSP2ECHO. 6.WindowsXP(SP3) WinXPSP3ECHO. 7.Windows Server 2003(SP1) WINSRV03SP1ECHO. 8.Windows Server 2008(SP1) WINSRV08SP1ECHO. 9.WindowsVISTA VISTARTMECHO. 10.WindowsVISTA(SP1) VISTAECHO. 11.Windows7 WIN7RTMECHO =====================================================================ECHO.ECHO 请输入数字(预设值 6):1-11SET /P Q=请选择您原来的系统:IF /I %Q% GTR 11 (GOTO MSG) ELSE (IF /I %Q% LSS 1 GOTO MSG)IF /I %Q:~0,1% EQU 0 GOTO MSGECHO 您已选择:%Q%FOR /F "DELIMS=, TOKENS=%Q%,%Q%" %%N IN ("%OS%") DO SET VALUE=%%NECHO 原系统为:!VALUE!SET TAG=UsersSetupGOTO LINE:UsersSetupSET Q=NECHO 要将设定值套用到所有的使用者吗?SET /P Q=预设值为 No.(Y/N):IF /I "%Q:~0,1%" EQU "Y" (SET AllUser=YSET RegValue=%Everyone%) ELSE (IF /I "%Q:~0,1%" NEQ "N" (GOTO MSG)SET AllUser=NSET RegValue=%Personal%)ECHO 您的选择:%AllUser% SET TAG=FoldersSetupGOTO LINE:FoldersSetupSET Q=YECHO 执行档位置:%~f0ECHO 目标资料夹:%~d0%~p0ECHO 是否要将整个资料夹内档案以相同的设定值来进行设定?SET /P Q=预设值为 Yes.(Y/N):IF /I "%Q:~0,1%" EQU "Y" (REM 单一设定^(资料夹所有档案使用单一设定^)FOR %%S IN (%Option%) do (ECHO --------------------------------------------------------------------------SET /A NUM=!NUM!+1ECHO 处理中项目编号:!NUM! - %%SFOR /F "delims== tokens=2" %%C IN ('SET Flage!NUM!') DO (ECHO %%CpauseSET YesNo=NSET /P YesNo=请选择^(输入 Y 或按 Enter 继续^)^:IF /I !YesNo! EQU Y SET VALUE=!VALUE! %%SECHO 目前状态:!VALUE!))SET NUM=SET TAG=RegRunGOTO LINE:RegRunECHO 以下资讯将登录到登录档中....ECHO 机码:%RegValue%ECHO 字串:%VALUE%FOR %%N IN (*.EXE) DO (SET /A FileNum=!FileNum!+1ECHO 正在处理档案:%~d0%~p0%%NREG ADD "%RegValue%" /V "%~d0%~p0%%N" /T REG_SZ /D "%VALUE%" /F >NUL)GOTO Bye)IF /I "%Q:~0,1%" EQU "N" (REM 手动个别设定FOR %%N IN (*.EXE) DO (SET /A FileNum=!FileNum!+1FOR %%S IN (%Option%) do (ECHO --------------------------------------------------------------------------SET /A NUM=!NUM!+1ECHO 处理中项目编号:!NUM! - %%SECHO 正在设定的档案:%%NFOR /F "delims== tokens=2" %%C IN ('SET Flage!NUM!') DO (ECHO %%C)SET YesNo=NSET /P YesNo=. 请选择^(输入 Y 或按 Enter 继续^)^:IF /I !YesNo! EQU Y SET VALUE=!VALUE! %%SECHO 目前状态:!VALUE!)REG ADD "%RegValue%" /V "%~d0%~p0%%N" /T REG_SZ /D "%VALUE%" /F >NULSET NUM=)GOTO Bye):LINEECHO --------------------------------------------------------------------------GOTO %TAG%:MSGECHO ^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!ECHO 输入错误^!请重新输入.ECHO 您输入: %Q% 为不正确的输入值,请按任一键重新输入.ECHO ^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!^^!PAUSE > NULGOTO %TAG%:SETUPSETLOCAL ENABLEDELAYEDEXPANSIONSET Everyone=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\LayersSET Personal=HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\LayersSET Option=^RUNASADM ^256COLOR ^640X480 ^DISABLEDWM ^HIGHDPIAWARE ^DISABLETHEMESSET Flage1=1,如果您执行旧程式时会要求额外的权限,请按Y,若不需要按ENTER继续。SET Flage2=2,错误讯息表示程式需要在256色下才能执行,请按Y,若不需要按ENTER继续。SET Flage3=3,程式在小视窗中启动(640X480),无法切换到全萤幕,请按Y,若不需要按ENTER继续。SET Flage4=4,未正确显示视窗透明效果,请按Y,若不需要按ENTER继续。SET Flage5=5,选取大尺寸字型设定时,程式无法正确显示,请按Y,若不需要按ENTER继续。SET Flage6=6,Windows 控制项被裁切或程式在启动时变更图形主题,请按Y,若不需要按ENTER继续。SET OS=Win95,Win98,NT4SP5,Win2000,WinXPSP2,WinXPSP3,WINSRV03SP1,WINSRV08SP1,VISTARTM,VISTA,WN7RTMSET TAG=HEADGOTO HEAD:ByeCLSECHO.ECHO ==========================感谢使用==========================ECHO 这个小程式是专为WINDOWS 7里保留的旧版程式所製作,主要是因应部ECHO 份旧版进销存或套装软体等,有过多的副程式或执行档需要修改时加ECHO 快设定的时间.若是只有三、五个手动设定就好了.....ECHO 作者:鼎尔资讯 (Dreamer)-企业好帮手ECHO MAIL:dreamer@mail.dingerbs.comECHO 使用上如有遇到问题请与我连络.ECHO ==========================感谢使用==========================ECHO.IF "%Q%" EQU "" PAUSE&GOTO SETUPECHO ------------------------------------------------------------ECHO 共处理了: %FileNum% 个档案.ECHO ------------------------------------------------------------ECHO.ECHO 请等待十秒后视窗自动关闭...................FOR %%N IN (Everyone,Personal,Flage1,Flage2,Flage3,Flage4,Flage5,Flage6,OS,TAG,FileNum,VALUE,AllUser,RegValue,YesNo,Q) DO SET %%N=PATHPING LOCALHOST -p 100 >nul