Autor |
Beitrag |
LDMatrix17
      
Beiträge: 73
xXpProOxsP2x
Flash5~Flash7 MX 2004 Prof.~Flash 8 Prof.~Delphi 7 prof.&HTML
|
Verfasst: Fr 24.03.06 16:08
Hallo leute! bin mal wieder
warum kann ich keine umlaute wie ä,ü,ö in Batch(*.Bat) Dateien benutzen??
ich habe versucht mit
@Echo off
Chcp 1252
Xcopy C:\lolmenü\*.* d:\
....
....
Chcp 850
trotzdem!! geht nicht!!

_________________ ~sOm3!~gUrLs!~sOm3!~dAyS!~L!f3~iS!~nOT!~bOriNg!!~
|
|
azubi_20
      
Beiträge: 593
WinXP SP2, Ubuntu 8.4
D7 Enterp., D2005 Prof., Java (Eclipse 3.4.0)
|
Verfasst: Fr 24.03.06 16:24
Windows und DOS haben einen unterschiedlichen Tabellensatz
Schreib deinen Batch mit "edit" (Ausführen->edit). Dann wird er im DOS-Zeichenstz geschrieben.
|
|
LDMatrix17 
      
Beiträge: 73
xXpProOxsP2x
Flash5~Flash7 MX 2004 Prof.~Flash 8 Prof.~Delphi 7 prof.&HTML
|
Verfasst: Fr 24.03.06 16:42
ne! da habe ich schon wieder nen problem!
weil ich die datei aus Delphi gespeichert habe!
soO memo.lines.SavetoFile('asdasd.bat') 
_________________ ~sOm3!~gUrLs!~sOm3!~dAyS!~L!f3~iS!~nOT!~bOriNg!!~
|
|
azubi_20
      
Beiträge: 593
WinXP SP2, Ubuntu 8.4
D7 Enterp., D2005 Prof., Java (Eclipse 3.4.0)
|
Verfasst: Fr 24.03.06 16:54
Dann musst du die Datei vorher mit vom ANSI- in den ASCII-Zeichensatz umwandeln.
z.B. so :
Delphi-Quelltext 1: 2: 3: 4:
| procedure AnsiToAscii(var S: string); begin CharToOemBuff(Pointer(S), Pointer(S), Length(S)); end; |
Es gibt aber auch noch andere Methoden, einfach mal GOOGLEN 
|
|
LDMatrix17 
      
Beiträge: 73
xXpProOxsP2x
Flash5~Flash7 MX 2004 Prof.~Flash 8 Prof.~Delphi 7 prof.&HTML
|
Verfasst: Fr 24.03.06 17:17
Kannst du mir bitte ein kleines Beispiel geben?
MFG
Christian
_________________ ~sOm3!~gUrLs!~sOm3!~dAyS!~L!f3~iS!~nOT!~bOriNg!!~
|
|
azubi_20
      
Beiträge: 593
WinXP SP2, Ubuntu 8.4
D7 Enterp., D2005 Prof., Java (Eclipse 3.4.0)
|
Verfasst: Fr 24.03.06 17:25
alle zeilen durchgehen (memo.lines.count)
von memo.lines kannst du dir die Zeile als String holen
String umwandeln in ASCII (z.B. mit oben genannter funktion)
speichern
|
|
LDMatrix17 
      
Beiträge: 73
xXpProOxsP2x
Flash5~Flash7 MX 2004 Prof.~Flash 8 Prof.~Delphi 7 prof.&HTML
|
Verfasst: Fr 24.03.06 17:42
 kommt immer fehlermeldung!!
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| S := 'Xcopy g:\meine Daten\Kontoauszüge\*.* d:\'; For I := 1 to length(s) do begin CharToOemBuff(Pointer(s),Pointer(s),Length(S[i])); end; memo1.Lines.Add(S); memo1.Lines.SaveToFile('C:\test.bat'); |
Bitte lach mich nicht aus
ich habe das mit ansi nach ascii wirklich nicht kapiert!
Christian
Moderiert von UGrohne: Beitragsformatierung überarbeitet.
_________________ ~sOm3!~gUrLs!~sOm3!~dAyS!~L!f3~iS!~nOT!~bOriNg!!~
|
|
0xCC
      
Beiträge: 150
|
Verfasst: Fr 24.03.06 18:06
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26:
| procedure TForm1.Button1Click(Sender: TObject);
function AnsiToAscii(s: string):string; begin setlength(result, length(s)); CharToOemBuff(@s[1], @result[1], length(s)); end;
const sourcepath = 'e:\löl'; targetpath = 'e:\lül'; batchfile = 'e:\etest.bat';
var s: string; temp: Tstringlist; src, target : string; begin src := AnsiToAscii(sourcepath); target :=AnsiToAscii(targetpath); s := 'echo *** batch-test ***'#13#10'Xcopy "' + includetrailingbackslash(src) +'*.*" "' + includetrailingbackslash(target) + '"'; temp := tstringlist.create; temp.Text := s; temp.SaveToFile(batchfile); temp.Free; end; |
die funktion von meinem vorgänger führte übrigens aus verständlichen gründen zu einer zugriffsverletzung.
|
|
LDMatrix17 
      
Beiträge: 73
xXpProOxsP2x
Flash5~Flash7 MX 2004 Prof.~Flash 8 Prof.~Delphi 7 prof.&HTML
|
Verfasst: Fr 24.03.06 18:44
it's working!!!!
danke sehr!
Christian
_________________ ~sOm3!~gUrLs!~sOm3!~dAyS!~L!f3~iS!~nOT!~bOriNg!!~
|
|