Java 命令在命令行上运行,但不在批处理文件中运行

Java 命令在命令行上运行,但不在批处理文件中运行,java,windows,powershell,batch-file,Java,Windows,Powershell,Batch File,如果这是一个简单的问题,我很抱歉,但我感到困惑。求求你,救命 当我将此命令粘贴到命令行上时,它将正确运行 java "-Dcloudcard.api.accessToken=s0olREDACTEDREDACTEDREDACTEDREDACTED" "-Ddownlo ader.fetchStatuses=READY_FOR_DOWNLOAD,APPROVED" "-Ddownloader.photoDirectories=C :\UCI_ID\

如果这是一个简单的问题,我很抱歉,但我感到困惑。求求你,救命

当我将此命令粘贴到命令行上时,它将正确运行

java "-Dcloudcard.api.accessToken=s0olREDACTEDREDACTEDREDACTEDREDACTED" "-Ddownlo
ader.fetchStatuses=READY_FOR_DOWNLOAD,APPROVED" "-Ddownloader.photoDirectories=C
:\UCI_ID\ID_Photos\student\Pictures" -jar cloudcard-photo-downloader.jar
但是,当我保存到批处理文件中时,它无法正确运行。它似乎在
=
符号处拆分命令。下面是我得到的输出

C:\UCI_ID\cloudcard-photo-downloader>Run2

C:\UCI_ID\cloudcard-photo-downloader>java "-Dcloudcard.api.accessToken=
Usage: java [-options] class [args...]
           (to execute a class)
   or  java [-options] -jar jarfile [args...]
           (to execute a jar file)
where options include:
    -d32          use a 32-bit data model if available

... {java usage output removed for brevity} ...

    -javaagent:<jarpath>[=<options>]
                  load Java programming language agent, see java.lang.instrument

    -splash:<imagepath>
                  show splash screen with specified image
See http://www.oracle.com/technetwork/java/javase/documentation/index.html for m
ore details.

C:\UCI_ID\cloudcard-photo-downloader>s0olREDACTEDREDACTEDREDACTEDREDACTED" "-Ddownlo
ader.fetchStatuses=READY_FOR_DOWNLOAD,APPROVED" "-Ddownloader.photoDirectories=C
:\UCI_ID\ID_Photos\student\Pictures" -jar cloudcard-photo-downloader.jar
's0olp4k40nbooqjfvn3mkvbe4ftceocd" "-Ddownloader.fetchStatuses' is not recognize
d as an internal or external command,
operable program or batch file.
C:\UCI\u ID\cloudcard照片下载程序>Run2
C:\UCI\U ID\cloudcard照片下载程序>java”-Dcloudcard.api.accessToken=
用法:java[-options]类[args…]
(执行一个类)
或java[-options]-jar jarfile[args…]
(执行jar文件)
其中包括:
-d32使用32位数据模型(如果可用)
…{为简洁起见删除了java使用情况输出}。。。
-javaagent:[=]
加载Java编程语言代理,请参阅Java.lang.instrument
-飞溅:
用指定的图像显示启动屏幕
看见http://www.oracle.com/technetwork/java/javase/documentation/index.html 为了m
矿石细节。
C:\UCI\U ID\cloudcard照片下载程序>S0olredactedredactedredacted”“-Ddownlo
ader.fetchstatus=READY\u FOR\u downloader,APPROVED”“-Ddownloader.photoDirectories=C
:\UCI\u ID\ID\u Photos\student\Pictures“-jar cloudcard-photo-downloader.jar
“s0olp4k40nbooqjfvn3mkvbe4ftceocd”“-Ddownloader.fetchStatuses”无法识别
d作为内部或外部命令,
可操作的程序或批处理文件。

提前谢谢

将此原样复制到您的
批处理文件中

java -Dcloudcard.api.accessToken="s0olREDACTEDREDACTEDREDACTEDREDACTED" ^
-Ddownloader.fetchStatuses="READY_FOR_DOWNLOAD,APPROVED" ^
-Ddownloader.photoDirectories="C:\UCI_ID\ID_Photos\student\Pictures" ^
-jar cloudcard-photo-downloader.jar

它也可以是单行,显然不包括插入符号,但这使它在这里和批处理文件中更具可读性。该命令必须在脚本(批处理文件)的一长行上。您确定这是正确的语法吗?我不使用java,但只要看看StackOverFlow和web上的一些示例,我认为您的每个选项都应该是这样
java-Dcloudcard.api.accessToken=“s0olredactedredactedredacted”
理论上,您应该只需要引号来保护批处理文件可能错误解释的空格和特殊字符。在我看来,双引号好像没有配对,
s0olredactedactedredacted“
,这破坏了整个命令行。