批次:(此时没有预料到
Batch: ( was not expected at this time
我想知道为什么我会在这个脚本中收到错误消息(“(此时未预料到”)。
for /f "delims=" %%t in (%cd%\Multitool\Multitool.txt) do (
set /p username=
set /p password=
set /p created=
)
if %created%==accountcreated ( goto CONTINUE ) else ( goto CREATE )
我有那几行代码总是给我一个错误:“(这时候没有预料到”。
在我的程序中,我想知道用户是否已经创建了一个帐户...
当用户创建一个帐户时,我在 %cd%\Multitool\Multitool.txt 中回显:
(
echo %username%
echo %password%
echo accountcreated
) > %cd%\Multitool\Multitool.txt
那么你能告诉我为什么会出现这个错误以及如何更正它吗?
抱歉我的英语不好我法语...
@ECHO OFF
SETLOCAL enabledelayedexpansion
:: set up logfile and password
SET "logfile=U:\q28542185.txt"
SET "password=dummypassword"
SET "myusername=dummyusername"
:: Dummy log entry
(
echo %myusername%
echo %password%
echo accountcreated
) > %logfile%
:: This is just to ensure the three variables are empty
FOR %%t IN (myusername password created) DO SET "%%t="
for /f "delims=" %%t in (%logfile%) do (
SET "myusername=!password!"
SET "password=!created!"
SET "created=%%t"
)
if %created%==accountcreated ( goto CONTINUE ) else ( goto CREATE )
:continue
ECHO got to continue
GOTO :eof
:create
ECHO got to create
GOTO :EOF
我使用名为 q28542185.txt
的文件来接收我的测试日志信息。
请注意,username
是由系统初始化的 magic variable
,所以我不喜欢更改它,所以我已替换为 myusername
。
第一部分设置了一个用于测试的虚拟日志文件。
替换 for
循环使用 delayedexpansion
工具读取日志文件和 "ripples" 通过变量名的行,以便按适当的顺序设置变量。
请注意,如果 created
包含 Spaces 那么您的 if
语句应修改为
if "%created%"=="accountcreated" ....
允许正确的解析顺序IF token operator token
我想知道为什么我会在这个脚本中收到错误消息(“(此时未预料到”)。
for /f "delims=" %%t in (%cd%\Multitool\Multitool.txt) do (
set /p username=
set /p password=
set /p created=
)
if %created%==accountcreated ( goto CONTINUE ) else ( goto CREATE )
我有那几行代码总是给我一个错误:“(这时候没有预料到”。
在我的程序中,我想知道用户是否已经创建了一个帐户... 当用户创建一个帐户时,我在 %cd%\Multitool\Multitool.txt 中回显:
(
echo %username%
echo %password%
echo accountcreated
) > %cd%\Multitool\Multitool.txt
那么你能告诉我为什么会出现这个错误以及如何更正它吗? 抱歉我的英语不好我法语...
@ECHO OFF
SETLOCAL enabledelayedexpansion
:: set up logfile and password
SET "logfile=U:\q28542185.txt"
SET "password=dummypassword"
SET "myusername=dummyusername"
:: Dummy log entry
(
echo %myusername%
echo %password%
echo accountcreated
) > %logfile%
:: This is just to ensure the three variables are empty
FOR %%t IN (myusername password created) DO SET "%%t="
for /f "delims=" %%t in (%logfile%) do (
SET "myusername=!password!"
SET "password=!created!"
SET "created=%%t"
)
if %created%==accountcreated ( goto CONTINUE ) else ( goto CREATE )
:continue
ECHO got to continue
GOTO :eof
:create
ECHO got to create
GOTO :EOF
我使用名为 q28542185.txt
的文件来接收我的测试日志信息。
请注意,username
是由系统初始化的 magic variable
,所以我不喜欢更改它,所以我已替换为 myusername
。
第一部分设置了一个用于测试的虚拟日志文件。
替换 for
循环使用 delayedexpansion
工具读取日志文件和 "ripples" 通过变量名的行,以便按适当的顺序设置变量。
请注意,如果 created
包含 Spaces 那么您的 if
语句应修改为
if "%created%"=="accountcreated" ....
允许正确的解析顺序IF token operator token