" foo\$ser\"ver\ 1 "
पूर्ण स्ट्रिंग को उद्धृत करने के लिए आपको उद्धरण से बचने की आवश्यकता है ताकि इसे अंतिम उद्धरण के रूप में नहीं देखा जा सके।
और ऐसे मामलों में जहां उद्धरण पहले से बैकस्लैश के साथ प्रीफ़िक्स किया गया है, तो आपको बैकस्लैश से बचना होगा। तो
this isa\"test
के रूप में एक पासवर्ड के रूप में
"thisisa\\\"test"
अधिक जानकारी के लिए लिखा जाना चाहिए, this खिड़कियों में पार्स तर्कों के "सामान्य" तरीका है।
संपादित - बस परीक्षण दस्तावेज करने के लिए। इस बैच फ़ाइल (test.cmd
)
का उपयोग
@echo off
cls
echo(--------------------------------------------
echo [%1][%2][%3][%4][%5][%6][%7][%8][%9]
echo(--------------------------------------------
cmdline.exe %1 %2 %3 %4 %5 %6 %7 %8 %9
echo(--------------------------------------------
cmdline.exe %*
echo(--------------------------------------------
java CmdLine %1 %2 %3 %4 %5 %6 %7 %8 %9
echo(--------------------------------------------
java CmdLine %*
echo(--------------------------------------------
जहां cmdline.exe
इस ग कोड
#include "windows.h"
#include "stdio.h"
void main(int argc, char **argv){
int i;
printf("cmdline:[%s]\r\n\r\n",GetCommandLine());
for(i = 0; i < argc ; i++) printf("arg_%03d:[%s]\r\n",i,argv[i]);
};
से प्राप्त होता है और CmdLine.java
public class CmdLine {
public static void main (String[] args) {
int i = 0;
for (String s: args) {
System.out.println(String.format("arg_%03d:[%s]",++i,s));
}
}
}
test.cmd " foo\$ser\"ver\ 1 "
चल रहा है परिणाम
--------------------------------------------
[" foo\$ser\"ver\][1]["][][][][][][]
--------------------------------------------
cmdline:[cmdline.exe " foo\$ser\"ver\ 1 " ]
arg_000:[cmdline.exe]
arg_001:[ foo\$ser"ver\ 1 ]
--------------------------------------------
cmdline:[cmdline.exe " foo\$ser\"ver\ 1 "]
arg_000:[cmdline.exe]
arg_001:[ foo\$ser"ver\ 1 ]
--------------------------------------------
arg_001:[ foo\$ser"ver\ 1 ]
--------------------------------------------
arg_001:[ foo\$ser"ver\ 1 ]
--------------------------------------------
हैं
स्रोत
2014-05-21 08:24:39
पर दिखाई दे सकता है अधिक जानकारी के लिए कोड प्रदान करें –
बजाय '% *' – Alex
शायद आप अंदर क्या हो रहा है पर विस्तृत सकता है 'deployment.bat' कोशिश , विशेष रूप से तर्क कैसे संसाधित किया जाता है और उस वर्ग को पारित किया जाता है जिसका आप उल्लेख कर रहे हैं। साथ ही, मैंने आपकी पोस्ट को स्पष्ट करने और अपनी समस्या को स्पष्ट करने के लिए संपादित किया है, कृपया समीक्षा करें और आवश्यकतानुसार संपादित/रोल करने के लिए स्वतंत्र महसूस करें। –