Solved

run.bat file

Posted on 2003-12-07
7
842 Views
Last Modified: 2010-03-31
I am having weird error. I am passing two args when I run this program.
args[1] is: http://webdev.apl.jhu.edu/%7Emed/summer03/homework/05LibrarySwing.html
However, when I put this url in run.bat file like this:

java <program>  <path> http://webdev.apl.jhu.edu/%7Emed/summer03/homework/05LibrarySwing.html

args[1] comes into main without "%7", and that is why my program doesn't work.
Another word, System.out.println("args[1] " + args[1] ); just print http://webdev.apl.jhu.edu/Emed/summer03/homework/05LibrarySwing.html
Of course, run.bat file is excutable file.

Why is that?
-----------------

  public static void main(String[] args) throws CrawlerException {

    checkUsage(args);
    //final String LINE_SEPARATOR = System.getProperty("line.separator");
    //StringBuffer buffy = new StringBuffer("");

    try{
      System.out.println("args[1] " + args[1] );
      URL url = new URL(args[1]);
0
Comment
Question by:dkim18
  • 3
  • 2
  • 2
7 Comments
 
LVL 24

Assisted Solution

by:shivsa
shivsa earned 100 total points
ID: 9894681
could u try to use escape before the special charactor.
0
 
LVL 4

Expert Comment

by:vk33
ID: 9894699
What platform are you running? For Win it works fine without escaping...
0
 
LVL 4

Assisted Solution

by:vk33
vk33 earned 25 total points
ID: 9894807
heh, I'm half asleep... What other platform could require *.bat files... :)
Really I don't know, I tried your code for one argument (arg[0]), it works allright without escaping '%' character. Maybe shivsa is right and you should escape it because your Windows parses it as a start of environment variable reference. But again on the WinXP of mine it worked alright.

Good luck!
0
Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
LVL 2

Accepted Solution

by:
Breadstick earned 125 total points
ID: 9894847
In batch files, when you use a percent sign followed by a number, the percent and number are replaced with that argument that was passed to the batch file.  So if in a batch called hello.bat  I were to write:
echo %1
and then to execute it i typed:
hello.bat HelloWorld
then the program would echo HelloWorld

Your batch file is replacing %7 with the 7th argument that you passed the batch file.  Because you didn't pass it seven arguments, it's replacing it with nothing.
0
 
LVL 2

Expert Comment

by:Breadstick
ID: 9894867
To escape the percent in a batch file, you type %%.  Just the percent character twice.
0
 
LVL 24

Expert Comment

by:shivsa
ID: 9894868
and thats why i said to escape since windows should not take it as a its own operator and treat it as a special character.
0
 
LVL 4

Expert Comment

by:vk33
ID: 9894883
Ah, yeah, well done Breadstick! I launched it directly from command line without batch-file...

Regards!
0

Featured Post

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
how to add new optional parameter to JSP 1 49
add projects t working set in maven 2 24
What browser will run Java? 7 68
learn programming 8 42
Introduction This article is the first of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article explains our test automation goals. Then rationale is given for the tools we use to a…
Basic understanding on "OO- Object Orientation" is needed for designing a logical solution to solve a problem. Basic OOAD is a prerequisite for a coder to ensure that they follow the basic design of OO. This would help developers to understand the b…
Viewers learn about the third conditional statement “else if” and use it in an example program. Then additional information about conditional statements is provided, covering the topic thoroughly. Viewers learn about the third conditional statement …
Viewers learn about the “for” loop and how it works in Java. By comparing it to the while loop learned before, viewers can make the transition easily. You will learn about the formatting of the for loop as we write a program that prints even numbers…

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question