Avatar billede Slettet bruger
13. maj 2010 - 13:28 Der er 11 kommentarer og
1 løsning

Windows Batch: Vertical bar som karakter

Halløj,

Jeg i en batchfil har behov for at angive vertical bar som karakter - hvordan kan jeg gøre det?

Takker.
Avatar billede arne_v Ekspert
13. maj 2010 - 16:28 #1
Udskriver den.

:-)

Du kan se koderne her:
  http://en.wikipedia.org/wiki/Cp850

(jeg gaetter paa at du i BAT bruger CP-850)

Saa skal du bar efinde ud af hvordan du faar din editor til at indsaette en byte med et bestemt nummer.
Avatar billede Slettet bruger
13. maj 2010 - 16:38 #2
Jeg tror ikke helt, vi forstår hinanden; vertical bar i Windows Batch er en speciel karakter, så det jeg gerne vil vide er, hvordan jeg kan escape den (eller tilsvarende), så den indgår som et almindeligt tegn.
Avatar billede arne_v Ekspert
13. maj 2010 - 19:43 #3
Saa har jeg ingen anelse.
Avatar billede tjens Nybegynder
13. maj 2010 - 21:46 #4
Prøv med ^ som escape karakter
Avatar billede Slettet bruger
13. maj 2010 - 22:46 #5
Nope.
Avatar billede tjens Nybegynder
14. maj 2010 - 20:04 #6
Så forstår jeg heller ikke problemet: Hvad med at vise lidt kode?

Hvis jeg skriver
echo Vertical  bar ^| is here >> TestEscape.txt
i en .cmd fil får jeg tegnet | med ud i outputfilen.
Avatar billede Slettet bruger
14. maj 2010 - 23:40 #7
[code]@echo off
set a=foo^|bar
echo %a%
pause[/code]

Ved kald:
[code]'bar' is not recognized as an internal or external command,
operable program or batch file.[/code]
Avatar billede tjens Nybegynder
15. maj 2010 - 00:08 #8
To alternativer:
set a="foo|bar"
echo %a%
set b=foo^^^|bar
echo %b%

Ved den første kommer "" desværre med i variablen, men de ophæver den fortolkning, som giver problemer i dit eksempel.

Ved den anden bliver indholdet af b = foo^|bar og denne fortolkes så til foo|bar under selve echo.
Avatar billede Slettet bruger
15. maj 2010 - 10:30 #9
Hvor er Batch dog intuitivt og praktisk :)
Jeg fik det dog til at virke nu. Smider du et svar?
Avatar billede tjens Nybegynder
15. maj 2010 - 20:18 #10
Godt du fik det til at virke.

Du kunne overveje at skifte fra .cmd til .vbs:
Så er det Visual Basic, og dermed nemmere at arbejde med strenge og andre variabler: http://msdn.microsoft.com/en-us/library/ms950396.aspx

Jeg kan selv godt lide at lave scripts som .hta filer, fordi man så kan lave brugerflade i HTML og CSS, nøjagtig som til en browser, og samtidig bruge VBScript eller JScript med fuld adgang til PC og lokalt netværk, samt HTML DOM-træet.
Avatar billede Slettet bruger
15. maj 2010 - 21:47 #11
Tak for forslagene - dem må jeg lige prøve engang. Faktisk troede jeg ikke, at Windows som udgangspunkt kunne fortolke andet end batchfiler direkte.
Avatar billede arne_v Ekspert
15. maj 2010 - 22:06 #12
VBS er i alle Windows (bortset fra 95 og NT 4.0, 3.51 og 3.1).
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester