?
Solved

.bat file does not understand ø symbol

Posted on 2010-08-30
15
Medium Priority
?
1,089 Views
Last Modified: 2012-05-10
Hi,

I have batch file that call calls a file with ø symbol in it.

If I copy and paste the script in cmd in runs fine, however from the batch script it doesnt. The ø come out like this ° , and I get and error saying it cannot find the file

can anyone help?
0
Comment
Question by:Dan560
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 2
  • 2
  • +5
15 Comments
 
LVL 39

Accepted Solution

by:
Krzysztof Pytko earned 668 total points
ID: 33557989
Because console uses different code page as I remember :)
Run cmd from command-line

type

edit

and retype all your script there and save it as something.bat

Try then once again :]
0
 
LVL 1

Expert Comment

by:Bondy74
ID: 33558038
HI Dan

See if this link helps, it talks about adding code page 865 to the O/s so Dos can see ø

http://www.uwe-sieber.de/codepage_e.html

Regards Peter
0
 
LVL 6

Expert Comment

by:bluepig
ID: 33558715
I have a dumb question - can't you rename the called file and get rid of the undesirable character? It's bad practice to use non-standard characters in file names.
OK, now for a useful suggestion - can you modify the batch file to use the generated 8.3 short name? There is a good chance it will not include the non-standard character.
0
Free Backup Tool for VMware and Hyper-V

Restore full virtual machine or individual guest files from 19 common file systems directly from the backup file. Schedule VM backups with PowerShell scripts. Set desired time, lean back and let the script to notify you via email upon completion.  

 
LVL 14
ID: 33559374
it's not a matter of displaying them though  it's a matter of reading and writing them whcih should be fine reguardless of which code page you are in.

In my experiance on another script it turned out that ° was treated as a reserved character in the batch file, meaning it needs to be specifically told to evaluate it as text.  What I needed to do was use the ^ escape the ° Character as so ^°.

In my case I used ^ because it was a delim in a for-loop.  If you use it as a part of a file name this will work but quotes around it should also allow you to evaluate it as literal text, did you remember to put quotes around all your variables and strings?

0
 
LVL 70

Assisted Solution

by:Qlemo
Qlemo earned 668 total points
ID: 33560629
Renaming will give you the best result ;-). And yes, it is all about code pages. Windows uses 1252, which is very similar to ISO/ANSI 8859-1. The DOS prompt uses whatever you have installed with the OS. You can try if
chcp 1252
at the start of the batch file will help, but I don't think so.
0
 
LVL 43

Assisted Solution

by:Steve Knight
Steve Knight earned 664 total points
ID: 33562130
If you wrote the script in Notepad you will find it looks different to it looks in edit or with TYPE showing it etc.  As has been said is code page / unicode etc. related.  Try editing the batch in edit instead of notepad and pasting it in there and it will be the same by default or enter it in Notepad and use CHCP in the cmd.exe window to the same code page used.  In my case for instance

CHCP 850

Steve
0
 
LVL 16

Expert Comment

by:t0t0
ID: 33573059
>> "The ø come out like this ° , and I get and error saying it cannot find the file"

When pasting your code as a batch file, replace the '°' with a 'ø' by editing the code afterwards.

Hold down the left-ALT key while typing the number '0248' on the numerical keypad. When you release the ALT key, the 'ø' should appear in your text.

Typing '248' (without the leading zero) produces just a '°'.
0
 
LVL 2

Author Comment

by:Dan560
ID: 33696491
Thanks for your help
0
 
LVL 43

Expert Comment

by:Steve Knight
ID: 33697106
The correct solution is to use the right code page or to edit the batch file using edit xxx.cmd from the cmd.exe prompt or other editor within the cmd.exe window (which is effectively using the same code page).  Renaming the file is a bit of a cop-out.  Didi you try using edit as suggested ?

In any case you should be able to "accept an answer" and split points yourself.  Not sure why it has gone like this?

Steve
0
 
LVL 70

Expert Comment

by:Qlemo
ID: 33697134
At the moment EE has some issues with the split, which goes into auto-close with 4 days grace period instead of immediate accept. I have received several of this in the last two hours. Bug report sent.
0
 
LVL 43

Expert Comment

by:Steve Knight
ID: 33697318
thanks Qlemo, I did wonder what was going on after getting several of them!
0
 
LVL 43

Expert Comment

by:Steve Knight
ID: 33705446
Well I queried it because it came up with the "this question is being closed" and was the first I had like this with this "feature" or "bug" or whatever at the moment.  Personally I think having answer as "rename the file" isn;t really a solution.  The problem is down to what the other people have all said, i.e. it is how the character is represented, i.e. the very first post says to use edit (which I missed any said the same later myself) which stores the same character and should work.

But for a quiet life just leave it be.
0
 
LVL 16

Expert Comment

by:t0t0
ID: 33768072
I'm dismayed to find my comment (33573059) was disregarded when infact I provided a technical work-around giving the reason why you were getting the wrong symbol. If you had followed my instructions, you would NOT have had to rename your files and your batch file would have been able to process them without any worries.
0

Featured Post

On Demand Webinar: Networking for the Cloud Era

Did you know SD-WANs can improve network connectivity? Check out this webinar to learn how an SD-WAN simplified, one-click tool can help you migrate and manage data in the cloud.

Question has a verified solution.

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

VALIDATING DATES One method of validating dates is to jam the date into the DATE command and see if it accepts it by examining the system's errorlevel value. A non-zero result indicates failure. A typical example might look something like the fol…
Being a system administrator some time we require to do things remotely, one of them is installing software. Here I am going to tell you how to install software through wmic (Windows management instrument console). I am not at all saying that this i…
Add bar graphs to Access queries using Unicode block characters. Graphs appear on every record in the color you want. Give life to numbers. Hopes this gives you ideas on visualizing your data in new ways ~ Create a calculated field in a query: …
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…
Suggested Courses

777 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