Windows 命令行受到 AMD/Intel 差异的影响吗?

Windows 命令行受到 AMD/Intel 差异的影响吗?

我认为我的一些软件受到了英特尔和 AMD 之间差异的影响,但很难判断是硬件问题还是 Windows 设置了某种标志。我的一些在命令行上运行的应用程序在英特尔上运行良好,但在 AMD 上它们报告“/AMD 此时是意外的”。我检查了文件以查看其中是否包含错误字符串,结果发现不是。我尝试查看它可能调用的任何文件,但这些文件中也没有该字符串。因此批处理文件没有抛出错误,我认为这一定是 Windows 添加的内容,但同时它正在扰乱流程。这个标志是什么,我如何阻止 Windows 添加它?(这可能是一个晦涩的问题;我在谷歌上找不到任何答案,因为搜索关键字只会带来关于 AMD 的文章和有该程序名称的人,而不是论坛主题或任何关于它的内容)编辑:

REM echo off setlocal enabledelayedexpansion

REM 有关延迟变量扩展类型的良好解释,请在命令提示符下输入 set /? REM 它仅在命令行帮助中解释,而不是 Windows 帮助

REM -------------- 设置脚本变量 -------------------------

设置 WORLD_PARAMETERS= 设置 SIDE_PARAMETERS= 设置 MUNGE_LOAD=0 设置 MUNGE_SIDE=0 设置 MUNGE_COMMON=0 设置 MUNGE_SHELL=0 设置 MUNGE_MOVIES=0 设置 MUNGE_LOCALIZE=0 设置 MUNGE_SOUND=0 设置 MUNGE_PLATFORM=PC 设置 MUNGE_LANGVERSION=ENGLISH 设置 MUNGE_LANGDIR=ENG 设置 MUNGE_ALL=1 设置 DISPLAY_MESSAGES=1 设置 XBOX_COPY=0

REM -------------- 进程命令行参数-------------------------

:whilescriptparameters 如果 "%1"=="" 转到 endscriptparameters

快速眼动 (REM)笔记 REM 复合条件中的第一个 goto 语句似乎有助于变量 REM 扩展。它是必需的,因此它在运行语句之前不会扩展 REM 条件中的所有变量。不幸的是,我们可以在特殊变量 %0-%9 上使用延迟 REM 扩展运算符“!”

if /i "%1"=="/WORLD" (
    REM this goto statement is needed read note above
    goto :whileworldparameters
    :whileworldparameters
    shift
    set parameter=%1
    if "!parameter!" == "" goto whilescriptparameters
    if "!parameter:~0,1!" == "/" goto whilescriptparameters
        set WORLD_PARAMETERS=!parameter! !WORLD_PARAMETERS!
        set MUNGE_ALL=0
    goto whileworldparameters
) else if /i "%1"=="/SIDE" (
    REM this goto statement is needed read note above
    goto :whilesideparameters
    :whilesideparameters
    shift
    set parameter=%1
    if "!parameter!" == "" goto whilescriptparameters
    if "!parameter:~0,1!" == "/" goto whilescriptparameters
        set SIDE_PARAMETERS=!parameter! !SIDE_PARAMETERS!
        set MUNGE_ALL=0
    goto whilesideparameters
) else if /i "%1"=="/LOAD" (
    set MUNGE_LOAD=1
    set MUNGE_ALL=0
) else if /i "%1"=="/NOMESSAGES" (
    set DISPLAY_MESSAGES=0
) else if /i "%1"=="/SOUND" (
    set MUNGE_SOUND=1
    set MUNGE_ALL=0
    set MUNGESTREAMS=1
    REM this goto statement is needed read note above
    goto :whilesoundparameters
    :whilesoundparameters
    shift
    set parameter=%1
    if "!parameter!" == "" (
        goto whilescriptparameters
    ) else if /i "!parameter!"=="NOSTREAMS" (
        set MUNGESTREAMS=0
    ) else if "!parameter:~0,1!" == "/" (
        goto whilescriptparameters
    ) else (
        set SOUNDLVL=!parameter! !SOUNDLVL!
        set MUNGE_ALL=0
    )
    goto whilesoundparameters
) else if /i "%1"=="/COMMON" (
    set MUNGE_COMMON=1
    set MUNGE_ALL=0
) else if /i "%1"=="/SHELL" (
    set MUNGE_SHELL=1
    set MUNGE_ALL=0
) else if /i "%1"=="/MOVIES" (
    set MUNGE_MOVIES=1
    set MUNGE_ALL=0
) else if /i "%1"=="/LOCALIZE" (
    set MUNGE_LOCALIZE=1
    set MUNGE_ALL=0
) else if /i "%1"=="/NOXBOXCOPY" (
    set XBOX_COPY=0
) else if /i "%1"=="/PLATFORM" (

    REM this goto statement is needed read note above
    goto :whileplatformparameters
    :whileplatformparameters
    shift
    set parameter=%1

    if /i "!parameter!"=="PC" (
        set MUNGE_PLATFORM=PC
    ) else if /i "!parameter!"=="PS2" (
        set MUNGE_PLATFORM=PS2
    ) else if /i "!parameter!"=="XBOX" (
        set MUNGE_PLATFORM=XBOX
    ) else (
        echo "
        echo "Error (Invalid Platform Parameter): %1
        echo "
        goto PRINT_USAGE_AND_EXIT
    )

    shift
    goto whilescriptparameters

) else if /i "%1"=="/LANGUAGE" (

    REM this goto statement is needed read note above
    goto :whilelanguageparameters
    :whilelanguageparameters
    shift
    set parameter=%1

    if /i "!parameter!"=="ENGLISH" (
        set MUNGE_PLATFORM=ENGLISH
        set MUNGE_LANGDIR=ENG
    ) else if /i "!parameter!"=="UK" (

rem 设置 MUNGE_PLATFORM=UK 设置 MUNGE_LANGDIR=UK_ 设置 MUNGE_LANGVERSION=UK_ ) else if /i "!parameter!"=="FRENCH" ( rem 设置 MUNGE_PLATFORM=FRENCH 设置 MUNGE_LANGDIR=FRENCH 设置 MUNGE_LANGVERSION=FRENCH ) else if /i "!parameter!"=="GERMAN" ( rem 设置 MUNGE_PLATFORM=GERMAN 设置 MUNGE_LANGDIR=GERMAN 设置 MUNGE_LANGVERSION=GERMAN ) else if /i "!parameter!"=="JAPANESE" ( rem 设置 MUNGE_PLATFORM=JAPANESE 设置 MUNGE_LANGDIR=JAPANESE 设置 MUNGE_LANGVERSION=JAPANESE ) else if /i "!parameter!"=="ITALIAN" ( rem 设置 MUNGE_PLATFORM=ITALIAN 设置MUNGE_LANGDIR=ITALIAN 设置 MUNGE_LANGVERSION=ITALIAN ) else if /i "!parameter!"=="SPANISH" ( rem 设置 MUNGE_PLATFORM=SPANISH 设置 MUNGE_LANGDIR=SPANISH 设置 MUNGE_LANGVERSION=SPANISH ) else ( echo " echo "错误(无效语言参数):%1 echo " goto PRINT_USAGE_AND_EXIT )

    shift
    goto whilescriptparameters

) else (
    echo "
    echo "Error (Invalid Parameter): %1
    echo "
    goto PRINT_USAGE_AND_EXIT
)

shift goto whilescriptparameters :endscriptparameters

REM ----------- 后期处理一些变量 ---------------

如果/I“%MUNGE_LANGVERSION%” ==“ENGLISH”(设置MUNGE_OVERRIDE_DIR =)否则(设置MUNGE_OVERRIDE_DIR =%MUNGE_PLATFORM%_%MUNGE_LANGDIR%)

如果/i“%WORLD_PARAMETERS%” ==“(设置WORLD_PARAMETERS = NOTHING)否则(REM查看是否为NOTHING则覆盖(%WORLD_PARAMETERS%)中%% A的变量执行(如果/i“%% A” ==“NOTHING”(设置WORLD_PARAMETERS = NOTHING)))

如果/ i“%SIDE_PARAMETERS%” ==“”(设置SIDE_PARAMETERS = NOTHING)否则(REM查看是否为NOTHING,然后覆盖(%SIDE_PARAMETERS%)中%% A的变量执行(如果/ i“%% A” ==“NOTHING”(设置SIDE_PARAMETERS = NOTHING)))

如果 %MUNGE_ALL% EQU 1(设置 WORLD_PARAMETERS=EVERYTHING 设置 SIDE_PARAMETERS=EVERYTHING 设置 MUNGE_LOAD=1 设置 MUNGE_SIDE=1 设置 MUNGE_COMMON=1 设置 MUNGE_SHELL=1 设置 MUNGE_MOVIES=1 设置 MUNGE_LOCALIZE=1 设置 MUNGE_SOUND=1)

REM -------------- 设置日志 -----------------------

如果存在 %MUNGE_LOG% ( del %MUNGE_LOG% ),则设置 MUNGE_LOG="%CD%\%MUNGE_PLATFORM%_MungeLog.txt"

REM 回显 ************************************************************************* >> %MUNGE_LOG% REM 回显 munge.bat %MUNGE_PLATFORM% %MUNGE_LANGVERSION% >> %MUNGE_LOG% REM 回显 MUNGE_BIN_DIR=%MUNGE_BIN_DIR% >> %MUNGE_LOG% REM 回显 MUNGE_OVERRIDE_DIR=来源%MUNGE_LANGVERSION% >> %MUNGE_LOG% REM echo MUNGE_LANGDIR=来源%MUNGE_LANGDIR% >> %MUNGE_LOG% REM echo ************************************************************************* >> %MUNGE_LOG%

如果“%MUNGE_BIN_DIR%”=="”(设置 MUNGE_BIN_DIR=%CD%.....\ToolsFL\Bin REM echo MUNGE_BIN_DIR=%MUNGE_BIN_DIR% 设置 PATH=%CD%.....\ToolsFL\Bin;%PATH% )

REM -------------- MUNGE 普通 -----------------------

如果 %MUNGE_COMMON% EQU 1 ( 回显 Common\munge %MUNGE_PLATFORM% cd Common 调用 munge.bat %MUNGE_PLATFORM% cd .. )

REM -------------- MUNGE SHELL ----------------------- 如果 %MUNGE_SHELL% EQU 1 ( echo Shell\munge %MUNGE_PLATFORM% cd Shell 调用 munge.bat %MUNGE_PLATFORM% cd .. )

REM -------------- MUNGE LOAD ----------------------- 如果 %MUNGE_LOAD% EQU 1 ( echo Load\munge %MUNGE_PLATFORM% cd Load call munge.bat %MUNGE_PLATFORM% cd .. )

REM -------------- MUNGE SIDES ----------------------- 如果 /i “ %SIDE_PARAMETERS % ” NEQ “ NOTHING ” ( echo Sides\munge %MUNGE_PLATFORM% cd Sides 调用 munge.bat %MUNGE_PLATFORM% %SIDE_PARAMETERS% cd .. )

REM -------------- MUNGE WORLDS ----------------------- 如果 /i“ %WORLD_PARAMETERS %” NEQ“ NOTHING” ( echo Worlds \munge %MUNGE_PLATFORM% cd Worlds 调用 munge.bat %MUNGE_PLATFORM% %WORLD_PARAMETERS% cd .. )

REM -------------- MUNGE SOUNDS ----------------------- 如果 %MUNGE_SOUND% EQU 1 ( echo Sound\munge %MUNGE_PLATFORM% cd Sound call munge.bat %MUNGE_PLATFORM% cd .. )

如果 /I "%MUNGE_PLATFORM%"=="XBOX" ( 如果 %XBOX_COPY% EQU 1 ( echo 将文件复制到 XBOX... echo on xbcp -d -y -t -r -f .._lvl_xbox*.lvl xe:\Battlefront2\Data_lvl_xbox\ 2>>%MUNGE_LOG% xbcp -d -y -t -r -f .._lvl_xbox*.mvs xe:\Battlefront2\Data_lvl_xbox\ 2>>%MUNGE_LOG% xbcp -d -y -t -r -f ..\sound\global\dsstdfx.bin xe:\Battlefront2\Data\ 2>>%MUNGE_LOG% REM echo off ) )

REM 如果 munge 日志中包含任何内容,则查看它 if %DISPLAY_MESSAGES% EQU 1 ( for /f %%i in (%MUNGE_LOG%) do (if %%~zi GTR 0 ( start Notepad.exe %MUNGE_LOG% ) else ( if exist

%MUNGE_LOG% (删除 %MUNGE_LOG%) ) ) )

REM 暂停

转到结束

REM -------------- 打印脚本使用情况并退出 ----------------------- :PRINT_USAGE_AND_EXIT echo "用法:munge [/PLATFORM [PC|PS2|XBOX]] echo " [/LANGUAGE [ENGLISH|UK|FRENCH|GERMAN|JAPANESE|ITALIAN|SPANISH]] echo " [/WORLD [EVERYTHING|NOTHING| ...]] echo " [/SIDE [EVERYTHING|NOTHING| ...]] echo " [/LOAD] [/SOUND] [/COMMON] [/SHELL] [/MOVIES] [/LOCALIZE] echo " echo "选项:echo " 如果未指定参数,则所有内容都将被混合。 echo " /PLATFORM 混合数据的平台 (默认为 PC) echo " /LANGUAGE 用于构建的语言 (默认为 ENGLISH) echo " /WORLD 选择性混合世界数据。如果 echo " 指定了 "EVERYTHING" 或 "NOTHING",则分别混合或不混合所有世界数据 echo " /SIDE 选择性混合侧面数据。如果 echo " 指定了 "EVERYTHING" 或 "NOTHING",则分别混合或不混合所有侧面数据 echo " /LOAD 如果指定,则混合加载屏幕数据 echo " /SOUND 如果指定,则混合声音数据 echo " /COMMON 如果指定,则混合公共数据 echo " /SHELL 如果指定,则混合 shell 数据 echo " /MOVIES 如果指定,则混合电影数据 echo " /LOCALIZE 如果指定,则混合本地化数据 echo " /NOXBOXCOPY 如果指定,则跳过数据复制到 xbox

REM -------------- 退出脚本 ----------------------- :结束

端局部

答案1

该字符串\AMD来自您的 PATH,而不是您的 CPU。查看您的 PATH 环境变量,我敢打赌您会C:\Program Files (x86)\AMD APP\bin在其中找到类似的内容。批处理文件无法正确处理 PATH 环境变量中的括号。

相关内容