运行 带有批处理脚本参数的 jar 文件 windows 8
Running jar file with argument from batch script windows 8
我正在尝试 运行 我的 .jar 文件通过批处理脚本在 Windows 8.
中使用参数
我的批处理文件(run.bat)包含以下内容:
set d=2015-07-07
java -jar my.jar %d%
但是当我执行 run.bat 时,我得到以下信息:
C:\Users\user\Desktop\Test>run.bat
C:\Users\user\Desktop\Test>set d=2015-07-07
C:\Users\user\Desktop\Test>java -jar my.jar
C:\Users\user\Desktop\Test>2015-07-07
'2015-07-07' is not recognized as an internal or external command,
operable program or batch file.
如何将整个命令连同参数一起执行?
当我 运行 它没有通过命令行的批处理脚本时它工作:
C:\Users\user\Desktop\Test>java -jar my.jar 2015-07-07
C:\Users\user\Desktop\Test>
我在批处理脚本中做错了什么?
使用批号
@echo off
set "DateOption=2015-07-07"
java.exe -jar my.jar %DateOption%
set "DateOption="
甚至更好
@echo off
set "DateOption=2015-07-07"
"%JAVA_HOME%\bin\java.exe" -jar my.jar %DateOption%
set "DateOption="
根据 cmd.exe 在 运行 你的批处理文件上输出的命令,看起来 my.jar
和 %d%
在第二行或在 =
和 2015-07-07
之间在第一行被 cmd.exe 解释为换行。它可以是单个回车 return 或单个换行符。 cmd.exe 将 NULL(值为 0 的字节)解释为字符串的结尾,这也意味着行的结尾。
批处理文件应该有 DOS/Windows 行终止符,即回车符 return + 换行符。仅换行 (UNIX) 或仅回车 return(旧 MAC)不适用于批处理文件。
并且批处理文件必须是 ASCII/ANSI (OEM) 编码文件,即每个字符 1 个字节。确保在使用命令 另存为 保存批处理文件时没有在使用的文本编辑器中选择 UTF-8 或 Unicode (UTF-16 Little/Big Endian)。现在许多文本编辑器默认使用 UTF-8 作为 cmd.exe 不支持的编码。
我正在尝试 运行 我的 .jar 文件通过批处理脚本在 Windows 8.
中使用参数我的批处理文件(run.bat)包含以下内容:
set d=2015-07-07
java -jar my.jar %d%
但是当我执行 run.bat 时,我得到以下信息:
C:\Users\user\Desktop\Test>run.bat
C:\Users\user\Desktop\Test>set d=2015-07-07
C:\Users\user\Desktop\Test>java -jar my.jar
C:\Users\user\Desktop\Test>2015-07-07
'2015-07-07' is not recognized as an internal or external command,
operable program or batch file.
如何将整个命令连同参数一起执行?
当我 运行 它没有通过命令行的批处理脚本时它工作:
C:\Users\user\Desktop\Test>java -jar my.jar 2015-07-07
C:\Users\user\Desktop\Test>
我在批处理脚本中做错了什么?
使用批号
@echo off
set "DateOption=2015-07-07"
java.exe -jar my.jar %DateOption%
set "DateOption="
甚至更好
@echo off
set "DateOption=2015-07-07"
"%JAVA_HOME%\bin\java.exe" -jar my.jar %DateOption%
set "DateOption="
根据 cmd.exe 在 运行 你的批处理文件上输出的命令,看起来 my.jar
和 %d%
在第二行或在 =
和 2015-07-07
之间在第一行被 cmd.exe 解释为换行。它可以是单个回车 return 或单个换行符。 cmd.exe 将 NULL(值为 0 的字节)解释为字符串的结尾,这也意味着行的结尾。
批处理文件应该有 DOS/Windows 行终止符,即回车符 return + 换行符。仅换行 (UNIX) 或仅回车 return(旧 MAC)不适用于批处理文件。
并且批处理文件必须是 ASCII/ANSI (OEM) 编码文件,即每个字符 1 个字节。确保在使用命令 另存为 保存批处理文件时没有在使用的文本编辑器中选择 UTF-8 或 Unicode (UTF-16 Little/Big Endian)。现在许多文本编辑器默认使用 UTF-8 作为 cmd.exe 不支持的编码。