简体   繁体   English

批次-B)目前无法预料

[英]Batch - B) is unexpected at this time

Trying to edit a registry querying batch file to set the path from the registry's entry. 尝试编辑注册表查询批处理文件以设置注册表项的路径。 I'm being returned with this error when attempting to run the batch file. 尝试运行批处理文件时,我收到此错误消息。

If I input a snippet manually in to command prompt it will read and set the path perfectly. 如果我在命令提示符中手动输入了一个代码段,它将读取并正确设置路径。

B) was unexpected at this time B)这时出乎意料

@For /F "Tokens=2* skip=2" B) @对于/ F“令牌= 2 *跳过= 2” B)

SETLOCAL ENABLEEXTENSIONS

:v64bita2
@For /F "Tokens=2* skip=2" %A In ('REG QUERY "HKLM\SOFTWARE\Wow6432Node\Bohemia Interactive Studio\ArmA 2" /v "MAIN"') Do (set ARMA2PATH=%B)
IF NOT DEFINED ARMA2PATH (GOTO v32bita2) ELSE (GOTO v64a2oa)

:v32bita2
@For /F "Tokens=2* skip=2" %C In ('REG QUERY "HKLM\SOFTWARE\Bohemia Interactive Studio\ArmA 2" /v "MAIN"') Do (set ARMA2PATH=%D)
IF NOT DEFINED ARMA2PATH (GOTO uaca2) ELSE (GOTO v64a2oa)

:uaca2
@FOR /F "tokens=2* delims=   " %I IN ('REG QUERY "HKLM\SOFTWARE\Wow6432Node\Bohemia Interactive Studio\ArmA 2" /v "MAIN"') DO (SET ARMA2PATH=%J)
IF NOT DEFINED ARMA2PATH (GOTO stda2) ELSE (GOTO v64a2oa)

:stda2
@FOR /F "tokens=2* delims=   " %K IN ('REG QUERY "HKLM\SOFTWARE\Bohemia Interactive Studio\ArmA 2" /v "MAIN"') DO (SET ARMA2PATH=%L)
IF NOT DEFINED ARMA2PATH (GOTO ENDfailA2) ELSE (GOTO v64a2oa)

:v64a2oa
For /F "Tokens=2* skip=2" %E In ('REG QUERY "HKLM\SOFTWARE\Wow6432Node\Bohemia Interactive Studio\ArmA 2 OA" /v "MAIN"') Do (set ARMA2OAPATH=%F)
IF NOT DEFINED ARMA2OAPATH (GOTO v32a2oa) ELSE (GOTO RUN)

:v32a2oa
For /F "Tokens=2* skip=2" %G In ('REG QUERY "HKLM\SOFTWARE\Bohemia Interactive Studio\ArmA 2 OA" /v "MAIN"') Do set (ARMA2OAPATH=%H)
IF NOT DEFINED ARMA2OAPATH (GOTO uaca2oa) ELSE (GOTO RUN)

:uaca2oa
@FOR /F "tokens=2* delims=   " %M IN ('REG QUERY "HKLM\SOFTWARE\Wow6432Node\Bohemia Interactive Studio\ArmA 2 OA" /v "MAIN"') DO (SET ARMA2OAPATH=%N)
IF NOT DEFINED ARMA2OAPATH (GOTO stda2oa) ELSE (GOTO RUN)

:stda2oa
@FOR /F "tokens=2* delims=   " %O IN ('REG QUERY "HKLM\SOFTWARE\Bohemia Interactive Studio\ArmA 2 OA" /v "MAIN"') DO (SET ARMA2OAPATH=%P)
IF NOT DEFINED ARMA2OAPATH (GOTO ENDfailA2OA) ELSE (GOTO RUN)

ENDLOCAL

:run

title CMG - Mod Downloader

echo .
echo Downloading Mods Now
echo .

:ENDfailA2
echo ArmA 2 Not Installed
pause

:ENDfailA2OA
echo ArmA 2 OA Not Installed
pause

in batchfiles you will have to double your % . 在批处理文件中,您必须将%翻倍。 for example your first line: 例如您的第一行:

@For /F "Tokens=2* skip=2" %%A In ('REG QUERY "HKLM\SOFTWARE\Wow6432Node\Bohemia Interactive Studio\ArmA 2" /v "MAIN"') Do (set ARMA2PATH=%%B)

Also, you could set the first line to 另外,您可以将第一行设置为

@echo off

then you don't have to put an @ to each line 那么您不必在每行中都使用@

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM