-2

Я думаю, что на некоторые из моих программ влияет отличие от Intel и AMD, но трудно сказать, является ли это аппаратным обеспечением или Windows устанавливает какой-то флаг. некоторые из моих приложений, которые запускаются из командной строки, прекрасно работают в Intel, но в AMD сообщают, что «/AMD была неожиданностью в это время». Я проверил файл, чтобы увидеть, не содержит ли это строку ошибки, и вот, это не так. Я попытался просмотреть все файлы, которые он мог бы вызвать, и в них тоже не было этой строки. поэтому пакетные файлы не выдают ошибку, я полагаю, что это должно быть что-то, что Windows добавляет, но в то же время это мешает потоку. что это за флаг и как я могу остановить его от добавления? (это, вероятно, неясный вопрос; я не смог найти никаких ответов в Google, потому что поиск по ключевым словам вызывал только статьи о AMD и людях с названием программы, а не с темами на форуме или чем-то еще об этом) edit:

REM эхо от setlocal enabledelayedexpansion

REM Для хорошего объяснения типа расширения отложенной переменной set /? в командной строке REM это объясняется только в командной строке help, а не windows help

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 = ПК установлен MUNGE_LANGVERSION = АНГЛИЙСКИЙ установлен MUNGE_LANGDIR = РУС установить MUNGE_ALL = 1 установить DISPLAY_MESSAGES = 1 установить XBOX_COPY = 0

REM -------------- ПРОЦЕСС КОМАНДНАЯ ЛИНИЯ ARGS -------------------------

:whilescriptparameters if "% 1" == "" Перейти к параметрам скрипта

REM NOTE REM первый оператор goto внутри составного условия, кажется, помогает раскрытию переменной REM. Это необходимо, чтобы не раскрывать все переменные внутри условного REM до выполнения операторов. К сожалению, мы можем использовать оператор отложенного расширения REM "!«на специальные переменные% 0-% 9

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 set MUNGE_PLATFORM = UK set MUNGE_LANGDIR = UK_ set MUNGE_LANGVERSION = UK_) в противном случае, если /i "!параметр!"==" FRENCH "(rem set MUNGE_PLATFORM = FRENCH set MUNGE_LANGDIR = FRENCH set MUNGE_LANGVERSION = FRENCH) в противном случае, если /i"!параметр!"==" GERMAN "(rem set MUNGE_PLATFORM = GERMAN set MUNGE_LANGDIR = GERMAN set MUNGE_LANGVERSION = GERMAN) в противном случае, если /i"!параметр!"==" JAPANESE "(rem set MUNGE_PLATFORM = JAPANESE set MUNGE_LANGDIR = JAPANESE set MUNGE_LANGVERSION = JAPANESE) иначе, если /i"!параметр!"==" ITALIAN "(rem set MUNGE_PLATFORM = ITALIAN set MUNGE_LANGDIR = ITALIAN set MUNGE_LANGVERSION = ITALIAN) иначе, если /i"!параметр!"==" ИСПАНСКИЙ "(rem установлен MUNGE_PLATFORM = ИСПАНСКИЙ набор MUNGE_LANGDIR = ИСПАНСКИЙ установлен MUNGE_LANGVERSION = SPANISH) else (ошибка эха" echo "(неверный параметр языка):% 1 эхо" перейти к PRINT_USAGE_AND_EXIT)

    shift
    goto whilescriptparameters

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

Сдвиг Перейти к параметру сценария

REM ----------- НЕКОТОРЫЕ ПЕРЕМЕННЫЕ ПОЧТОВЫХ ПРОЦЕССОВ ---------------

IF /I "% MUNGE_LANGVERSION%" == "ENGLISH" (установите MUNGE_OVERRIDE_DIR =) else (установите MUNGE_OVERRIDE_DIR =% MUNGE_PLATFORM% _% MUNGE_LANGDIR%)

if /i "% WORLD_PARAMETERS%" == "" (установите WORLD_PARAMETERS = NOTHING) else (REM посмотрим, если NOTHING, то переопределите переменную для %% A в (% WORLD_PARAMETERS%) do (if /i "%% A" == "НИЧЕГО" (установите WORLD_PARAMETERS = НИЧЕГО)))

if /i "% SIDE_PARAMETERS%" == "" (установите SIDE_PARAMETERS = NOTHING) else (REM посмотрим, если NOTHING, то переопределите переменную для %% A в (% SIDE_PARAMETERS%) do (if /i "%% A" == "НИЧЕГО" (установите SIDE_PARAMETERS = НИЧЕГО)))

если% MUNGE_ALL% EQU 1 (установите WORLD_PARAMETERS = ВСЕ установите SIDE_PARAMETERS = ВСЕ установите MUNGE_LOAD = 1 установите MUNGE_SIDE = 1 установите MUNGE_COMMON = 1 установите MUNGE_SHELL = 1 установите MUNGE_MOVIES = 1 установите MUNGE_OC = 1 установите MUNGE_L

REM -------------- НАСТРОЙКА ВХОДА -----------------------

установите MUNGE_LOG = "% CD%\% MUNGE_PLATFORM% _MungeLog.txt", если существует% MUNGE_LOG% (del% MUNGE_LOG%)

REM echo ************************************************* ********************* >>% MUNGE_LOG% REM echo munge.bat% MUNGE_PLATFORM%% MUNGE_LANGVERSION% >>% MUNGE_LOG% REM echo MUNGE_BIN_DIR =% MUNGE_BIN_DIR%> >% MUNGE_LOG% REM echo MUNGE_OVERRIDE_DIR = SOURCE % MUNGE_LANGVERSION% >>% MUNGE_LOG% REM echo MUNGE_LANGDIR = SOURCE % 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% set PATH =% CD% ....\ToolsFL\Bin;% PATH%)

REM -------------- MUNGE COMMON -----------------------

if% MUNGE_COMMON% EQU 1 (echo Common\munge% MUNGE_PLATFORM% cd Общий вызов munge.bat% MUNGE_PLATFORM% cd .. )

REM -------------- MUNGE SHELL ----------------------- if% MUNGE_SHELL% EQU 1 (echo Shell\munge% MUNGE_PLATFORM% cd Вызов оболочки munge.bat% MUNGE_PLATFORM% cd .. )

REM -------------- MUNGE LOAD ----------------------- if% MUNGE_LOAD% EQU 1 (echo Load\munge% MUNGE_PLATFORM% cd Вызов загрузки munge.bat% MUNGE_PLATFORM% cd .. )

REM -------------- MUNGE SIDES ----------------------- if /i "% SIDE_PARAMETERS%" NEQ " НИЧЕГО "(echo Sides\munge% MUNGE_PLATFORM% cd Стороны вызывают munge.bat% MUNGE_PLATFORM%% SIDE_PARAMETERS% cd .. )

REM -------------- MUNGE WORLDS ----------------------- if /i "% WORLD_PARAMETERS%" NEQ " НИЧЕГО "(echo Worlds\munge% MUNGE_PLATFORM% cd Миры вызывают munge.bat% MUNGE_PLATFORM%% WORLD_PARAMETERS% cd .. )

REM -------------- MUNGE SOUNDS ----------------------- если% MUNGE_SOUND% EQU 1 (эхо-звук \munge% MUNGE_PLATFORM% cd Звуковой вызов munge.bat% MUNGE_PLATFORM% cd .. )

if /I "% MUNGE_PLATFORM%" == "XBOX" (если% XBOX_COPY% EQU 1 (эхо Копирование файлов в XBOX ... эхо на 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 выводит эхо))

REM Если в журнале munge есть что-либо, просмотрите его, если% DISPLAY_MESSAGES% EQU 1 (для /f %% i in (% MUNGE_LOG%) делать (если %% ~ zi GTR 0 (запустить Notepad.exe% MUNGE_LOG%) иначе (если существует

% MUNGE_LOG% (del% MUNGE_LOG%))))

Быстрая пауза

Goto END

REM -------------- ПЕЧАТЬ ИСПОЛЬЗОВАНИЯ СКРИПТА И ВЫХОДА -----------------------:PRINT_USAGE_AND_EXIT echo "Использование: munge [/PLATFORM [PC | PS2 | XBOX]] echo "[/LANGUAGE [ENGLISH | UK | ФРАНЦУЗСКИЙ | НЕМЕЦКИЙ | ЯПОНСКИЙ | ИТАЛЬЯНСКИЙ | ИСПАНСКИЙ]] echo" [/WORLD [ВСЕ | НИЧЕГО | ...]] эхо "[/SIDE [ВСЕ | НИЧЕГО | ...]] echo "[/LOAD] [/SOUND] [/COMMON] [/SHELL] [/MOVIES] [/LOCALIZE] echo" echo "Опции: echo" Если параметры не указаны, то все обманывают. echo "/PLATFORM Платформа для обработки данных для (по умолчанию ПК) echo" /LANGUAGE Язык, используемый для построения (по умолчанию ENGLISH) echo "/WORLD Выборочно объединяет мировые данные. Если указано "ВСЕ" или "НИЧЕГО", это "эхо", то все мировые данные являются ложными или нет, соответственно, "эхо" /SIDE Выборочно связывает побочные данные. Если указано "ВСЕ" или "НИЧЕГО" - это эхо ", все боковые данные - это мунгирование или нет, соответственно, эхо" / ЗАГРУЗКА Если указано, что мунги загружают экранное эхо-данные "/ ЗВУК Если указано, что эхо звуковые данные мунгов" /COMMON Если указано, что эхо общих данных мунж " /SHELL Если указано эхо данных оболочки munges "/MOVIES Если указано эхо данных фильма munges" /LOCALIZE Если указано эхо данных локализации munges "/ NOXBOXCOPY Если указано, копия данных пропускается в xbox

REM -------------- Сценарий выхода -----------------------:END

Endlocal

1 ответ1

2

Строка \AMD исходит из вашего PATH, а не из вашего процессора. Посмотрите на переменную среды PATH, и я уверен, что вы найдете в ней что-то вроде C:\Program Files (x86)\AMD APP\bin . Пакетный файл неправильно обрабатывает скобки в переменной окружения PATH.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .