[英]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.