我经常在中使用Windows命令行,在给定的窗口中工作了一段时间后,偶尔会得到以下意外错误:
ELSE was unexpected at this time.
目前,它发生在粘贴了大约150行rm命令之后(可能是无关的)。
一旦我得到这个错误,我就不能在该窗口中使用ELSE语句;我必须启动一个新的shell进程,这样我的脚本才能正常工作。例如,一旦该错误出现在窗口中,我观察到以下情况:
C:\> IF DEFINED AN_ENV_VAR (ECHO YES) ELSE ECHO NO
ELSE was unexpected at this time.
C:\> IF NOT D
我有一个批处理文件,最后有一个函数定义。事实上,我知道函数就是问题所在,因为当它到达对函数或定义本身的任何调用时,都会返回错误。我收到错误:the syntax of the command is incorrect.我已经检查了括号的嵌套是否有错误,但没有用。Batch允许我向参数请求if defined语句并在其内部调用函数吗?
除此之外,我似乎不能解决这个错误。
rem Functions.
:checkLvl
if "%~1" EQU "%~2" (
set counter=0
if defined %~3 echo %~3
if
我正在做一些测试,以便在cmd中运行powershell脚本。我在运行powershell脚本时遇到了错误。请建议如何纠正它。
@Echo off&SetLocal EnableExtensions EnableDelayedExpansion
Set "WinVerAct="
For /f "tokens=*" %%W in ('
cscript /Nologo "C:\Windows\System32\slmgr.vbs" /xpr
') Do Set "WinVerAct=!WinVerAct! %%W
if /*some condition*/ set myvar=1
if defined myvar (
if %myvar% equ 1 (
echo Hurray
)
)
但是,我得到了错误1 was not expected at this time。在打开echo的情况下,它会打印发生错误的if equ 1 (。请建议如何解决这个问题。
我试图找出如何声明一个变量,而不给它赋值。根据bash文档,这应该是可以的:
声明-aAfFgilnrtux [name=value .]
声明变量和/或给它们属性。
"=value“位是可选的,但是使用不带赋值的”声明var“似乎不会做任何事情。
#!/bin/bash
function check_toto_set() {
if [ -z "${toto+x}" ] ; then
echo toto not defined!
else
echo toto=$toto
echo toto defined, unsetting
我有一个命令/程序,它在标准输出中以字符串的形式返回一个文本,它是"YES“或"NO",我如何设置这个字符串的变量以便在其他地方使用它? 我想让它表现得像 Echo Yes << this is from the command, I can't change it
Yes << How it is shown in the CMD window
IF "Yes" is defined goto yes
IF "No" is defined goto no
:yes
echo yes & exit
这是我的连接文件如何修复我的错误 Constant DB_HOST already defined in C:\xampp\htdocs\CMS_TEMPLATE\include\db.php on line 10
Notice: Constant DB_USER already defined in C:\xampp\htdocs\CMS_TEMPLATE\include\db.php on line 10
Notice: Constant DB_PASS already defined in C:\xampp\htdocs\CMS_TEMPLATE\include\db.php on
我试图让下面的代码工作,以测试管道变量的存在,这是我想要执行的实际代码的简化,它包含脚本块中的其他代码,但这说明了问题:
( if defined some_variable echo ok ) | more
echo was unexpected at this time
它会给我一条消息"echo在这个时候是意外的“。在"if“语句后面引用带圆括号并不能解决问题,它只是抱怨圆括号
( if defined some_variable ( echo ok ) ) | more
( was unexpected at this time.
"if“语句的两个变体都将在不
我很好奇如何获得包含空格或特殊字符的变量。
有办法吗?
<?php
$first_day = "monday";
$$first_day = "first day of the week";
echo $monday." <br />";
$days = 'saturday sunday';
$$days = 'days of the weekend';
// how to echo $days of the weekend ???
print_r(get_defined_vars());
我正在为作业编写一个简单的批处理文件,它只是为了检查是否定义了两个变量。我让它工作得很好,然后我意识到它需要检查两个变量,而不是一个。它仍然可以工作,但它得到一个语法错误。有人知道为什么吗?
:: 04/09/18
:: checkVars.bat
:: Checks if a variable name is defined
if %1 == "" (
echo "Usage: %0 varname1"
exit /b
) else (
goto check
)
:check
if defined %1 (
echo "%1
我有带有字段的用户模型:
id
name
email
password
为什么Laravel在请求不存在的属性时没有返回错误。当请求不存在的属性时,如何返回错误?
代码:
$user = User::findOrFail(1);
echo $user->name; // This attribute exist in out table and we can continue...
echo $user->location; // Attribute `location` doesn't defined and we can't continue!!!
我正在尝试使用下面的函数返回一个DB值,如果失败,该函数将返回一个错误对象。我用If/else语句分隔了代码块。if条件满足并执行if块。但是由于某些原因,if块中的return语句不会执行,代码将继续执行下一条语句。我在两种情况下都尝试了这两种方法,结果是一样的。
第一个代码
public function is_defined_headtype($head_id)
{
if ($is_defined = $this->ci->account_head_model->is_defined_headtype($head_id))
{
echo
Windows用户定义的环境变量名可以包含除=以外的任何字符。
特殊字符可以通过转义来包含。一个更简单的方法是简单地将整个集合表达式用引号括起来。例如:
set "A weird & "complex" variable=My value"
set A weird ^& "complex" variable=My value
上述两个表达式的结果都是相同的。变量名为A weird & "complex" variable,值为My value。
IF定义结构用于测试是否定义了变量。引号不适用于此测试,必须转
我现在试着对一个简单的网络脚本进行3小时的批处理,并且我被参数的检查卡住了。
我真的用
IF not "%~1"=="" ( IF not "%~2"=="" (
Set NHS_Network1 = %1
Set NHS_Router1 = %2
))
在执行时仍然会出现语法错误。
这就是我已经尝试过的:
IF DEFINED:不适用于参数
IF [%1]NEQ[] ( IF [%2]NEQ[] ( ... ))导致错误(意外)
所以..。我现在很困惑。我从来没有批量做“复杂”的事情,但我熟悉b
我正在创建一个bat文件,它为服务器构建提供了一些基本功能。该脚本被设计成具有一定的交互性。这允许我们在脚本上用于生产、开发或QA。失败的脚本区域如下所示
echo Enter User-defined Information about this Server:
echo Environment:
echo 1. PROD
echo 2. QA
echo 3. Dev
echo Choose one:
CHOICE /C 123
if errorlevel 1 (set ENVIRONMENTNAME=PROD & set EN
我有一个脚本,可以在Suite CRM中驱动一些东西,我可以很容易地从命令行输入php script.php来运行它。
但是,当我使用cron运行它时,它在下面的行后失败
echo "Defined sugarEntry\n";
我还尝试了在Require语句中对路径进行硬编码,还尝试了require_once。
我还在/etc/php.ini中设置了相关的include路径,这是cron中使用的php。我还有什么遗漏的吗?
<?php
//Don't forget to set the include path in /etc/php.in
下面的代码有些时间运行正常,但有些时间显示错误。在MM情况下,以前我的输出是8而不是08。但现在我得到08作为一个字符串,错误无效的数字。数值常量可以是十进制(17)、十六进制(0x11)或八进制(021)。
echo off
CD /d C:\Windows\System32\wbem\
FOR /f "skip=1" %%x in ('wmic os get localdatetime') do if not defined MyDate set MyDate=%%x
SET /a YYYY=%MyDate:~0,4%
SET /a MM=%MyDat
我正在尝试获取Logs文件夹中最近修改的文件的日期和时间(在变量上),但总是得到一个错误(‘此时意外’)。
我使用了以下代码:
@echo off
SETLOCAL
for /f %%G in ('dir .\Logs /b/a-d/o-d/t:w') do (
if not defined NewestFileTime (
set NewestFileTime=%%~tG
) else (
if %NewestFileTime% GTR %%~tG set NewestFileTime=%%~tG
)
)
if no
我想用Codeigniter从表单中保存数据。
控制器:home.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Home extends CI_Controller {
function __construct(){
parent::__construct();
$this->load->model('insert_model');
}
public funct
真的希望有人能帮助我理解这种行为以及如何解决这个问题。
> functions hello
# Defined in ...
function hello
echo -n $argv[1] "hello"
end
> functions world
# Defined in ...
function world
echo -n "world"
end
> hello
hello⏎
> world
world⏎
> world | hello
hello⏎
我正在尝试通过管道发出的命令替换用于自动化diskpart的临时脚本文件(即diskpart /s scriptFile),但是我似乎不知道如何检测何时diskpart抛出错误。如果您有驱动器N:将选择卷n更改为不存在的驱动器,这样diskpart将生成错误:
(
(
echo select disk 0
echo list partition
echo select vol n
) | diskpart
set foundErr=1
if errorlevel 0 if not errorlevel 1 set "foundErr="
if define
这个问题类似于我之前的问题,该问题由Mofi用以下代码解决:
@echo off
set "ConstrutionTime="
for /F "tokens=2 delims=()" %%I in ('%SystemRoot%\System32\find.exe /I "constructiontime" file.cfg') do set "ConstrutionTime=%%I"
if defined ConstrutionTime echo The construction time is: %Constru