- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我的批处理文件中有这个脚本 --
if not exist "%JAVA_HOME%" (
echo JAVA_HOME '%JAVA_HOME%' path doesn't exist) --- (1)
else (
echo Setting JAVA property to '%JAVA_HOME%\bin\java' --- (2)
set "JAVA=%JAVA_HOME%\bin\java")
%JAVA_HOME%
设置为 C:\Program Files (x86)\Java\jdk1.7.0_45
。这个位置存在于我的机器上,但上面的代码执行第 (1) 行,为什么?
跟进:
这让我发疯,我现在有了这个脚本 --
if "x%JAVA_HOME%" == "x" (
set JAVA=java
echo JAVA_HOME is not set. Unexpected results may occur.
echo Set JAVA_HOME to the directory of your local JDK to avoid this message.
) else (
if not exist "%JAVA_HOME%" (
echo Here ----------------------------------> note this line !!
echo JAVA_HOME '%JAVA_HOME%' path doesn't exist
goto END
) else (
echo Setting JAVA property to '%JAVA_HOME%\bin\java'
set "JAVA=%JAVA_HOME%\bin\java"
)
)
:END
%JAVA_HOME%
设置正确(它是 C:\Program Files (x86)\Java\jdk1.7.0_45
)。但是当我运行时,我得到了这个错误——
prompt> test.bat
prompt> \Java\jdk1.7.0_45' was unexpected at this time
prompt> echo JAVA_HOME 'C:\Program Files (x86)\Java\jdk1.7.0_45' path does not exist
这是怎么回事?另请注意 echo Here
行也没有执行。
最佳答案
The batch language was not designed; it evolved.
这使它充满了怪癖。其中之一是它对括号很挑剔。
以下代码适用于我的机器:
@echo off
if not exist "%JAVA_HOME%" (
echo JAVA_HOME '%JAVA_HOME%' path doesn't exist
) else (
echo Setting JAVA property to '%JAVA_HOME%\bin\java'
set JAVA=%JAVA_HOME%\bin\java
)
我使用了 ) else (
,单括号单独一行,并从 echo 语句中删除了括号。
您可能还想检查双引号。像您一样将变量名放在引号内将从值中删除引号。这是一个例子:
C:\>set "test=foo bar"
C:\>echo %test%
foo bar
C:\>echo "%test%"
"foo bar"
如果您需要在变量值中 引号,则将它们放在右侧,如下所示:
C:\>set test="foo bar"
C:\>echo %test%
"foo bar"
从头开始,选择前者会给你更多的灵 active (见@foxidrive 评论),但这完全取决于你必须使用什么。
关于Windows 批处理 : "if exist" -- path exists but it says no -- why?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19943057/
在该人已经使用discord.js说过“;say”之后,我如何检查字符串是否不包含“;say”。 我想确保用户不会通过使用命令 ;say ;say ;say 或类似的命令来破坏我正在制作的机器人。 已
我正在尝试学习 Perl,我使用的是 OS-X 10.8.4 并拥有 Perl 版本: 这是为 darwin-thread-multi-2level 构建的 perl 5, version 12, s
无法解决问题:\我应该如何记录第二个参数“says”?因为 SonarQube 一次又一次地问我这个问题。 public class Dogs { private static final o
比如: 第一个数字是:1。 看着第一个数字你可以说1个1,那么第二个数字就是:11。 看着第二个数字你可以说2个1,即第三个数字是:21。 看着第三个
本文关键词:LeetCode,力扣,算法,算法题,外观数列,Count and Say,刷题群 题目地址:https://leetcode.com/problems/count-and-say/#/
我正在使用Laravel Framework做博客,并且已经准备好登录/注册和线程部分。如果您已登录,那么在我的Blog中您只能编辑一个线程。现在,我遇到的问题是,如果我已登录,则可以编辑和删除每个线
正在处理一些2015 AoC学习 clojure 的问题...下面的代码对于第 40 次迭代来说足够快,但在那之后很长时间就陷入了停滞。我与其他一些人的解决方案进行了比较,但我并不清楚为什么这么慢。我
在某些时候,我的 java 代码通过如下简单的一行启动了 Mac 操作系统的“say”命令: Runtime.getRuntime().exec("say -v Victoria -f/Users/u
我需要第二双眼睛看这个。只要其中一个条件(if 或 elsif)为真,我就会得到一个额外的换行符。我不想这样。 use strict; use warnings; use autodie; use f
在 OS X 的终端中,如果您键入“say”并按回车键,则该命令不会退出,并且系统会说出任何后续输入的内容(后跟回车键)。怎么才能达到这样的效果呢? 最佳答案 如果您输入 cat 并按回车键,该命令不
我有一个表单,我正在使用 JavaScript 来验证表单,所以如果我们将一个字段留空,它会提示“请输入您的姓名”。 如果我直接转到链接,它会完美运行。但我正在使用 iFrame 将其嵌入其他网站。当
我正在为 FreecodeCamp 编写一个“Simon Says”元素,该元素跟踪计算机的随机颜色选择以及用户单击响应以遵循亮起颜色的模式。 但是,我遇到了一个问题。 。 。当计算机随机运行选择时,
我发现这个页面对指针的解释如下: http://www.woyouxian.net/c/c0501.html int x = 1, y = 2, z[10]; int *ip; /*
我一直在研究指针。我发现声明指针的细微差别,如 int* x 或 int *x。但是,我一直认为 *x 是指向内存的实际值。所以当我读int *x = &a时,我把它读作“assign value a
我通过导入 speech_recognition 在 python 3 上运行语音到文本代码 我的程序停留在“说点什么”并显示 sudo jack_control start //terminal c
考虑以下代码: #include #include // Variadic version template void f(const Variadic&... variadic) { s
我认为下面的代码格式正确: template using IsSigned = std::enable_if_t >; template... > T myAbs( T val ); 也有人说它是病式
我正在用 PHP 为 twilio 编写代码,以便当我调用我的 twilio 号码时,它会调用另一个号码,当用户拿起它时,它会使用 say 号码向他们读一条消息。 我该怎么做?我找不到任何嵌套到拨号动
我正在玩 Scala By Example 开头的 QuickSort 示例并尝试将其调整为通用类型 A ,而不仅仅是 Int s。 到目前为止我的工作是 def sort[A new Y(i, -
我可以在 verb 中使用任何其他字符吗?帮助发音(假设我有太多选择,只能将它们全部录制为 MP3)。 到目前为止,我发现的只是帮助正确检测音节的连字符: Adgrok 发音为“Addbrooke”
我是一名优秀的程序员,十分优秀!