Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

-Vollständiger Username- aus AD per Batch für Word aufbereiten- Problem mit Umlauten

Frage Entwicklung Batch & Shell

Mitglied: Andre-Ha

Andre-Ha (Level 1) - Jetzt verbinden

17.09.2009, aktualisiert 18.10.2012, 6101 Aufrufe, 5 Kommentare

Hallo.
Ich bin schon einige Zeit als Gast hier und habe auch schon ein paar Lösungen gefunden. Aber jetzt steh ich auf dem Schlauch. Obwohl mir scheint, mein Problem müsste ein Allerwelts-Problem sein, hab ich hier noch keine Lösung gefunden.

Beim folgenden Vorhaben tauchen Probleme auf, sobald Umlaute im Spiel sind:

Ich fülle die Variable %anwendername% per

01.
    for /f "tokens=2*" %%i in ('net user "%anwenderID%" /domain^|findstr "Vollst"') do set anwendername=%%j 
Danach wird %anwendername% in die neu zu erzeugende ta.xml geschrieben:

01.
          del x:\ta.xml >nul 2>nul 
02.
           echo ^<daten^> >>ta.xml 
03.
           echo ^<aw-a^>%anwendername%^</aw-a^> >>ta.xml 
04.
           echo ^</daten^> >>ta.xml
so dass diese dann wie folgt aussieht:
01.
*** ta.xml*** 
02.
<daten>  
03.
<aw-a>Mustermann, Max</aw-a>  
04.
</daten> 
Mit dieser xml wird dann per vbs-script eine "docvariable" in einem Word-Dokument aktualisiert:

01.
** .vbs script *** 
02.
dim datei 
03.
dim xml 
04.
dim mainelement 
05.
dim feld 
06.
set xml = createobject("msxml2.domdocument") 
07.
if not xml.load ("x:\ta.xml") then 
08.
msgbox "XML-Daten konnten nicht geladen werden" 
09.
stop 
10.
end if 
11.
set datei = getobject("x:\ta.doc") 
12.
set mainelement = xml.documentelement 
13.
setVariable "aw-n", mainelement.selectsinglenode("./anwendername").text 
14.
for each feld in datei.fields 
15.
feld.update 
16.
next 
17.
datei.save 
18.
datei.close 
19.
sub setVariable(VarName, Wert) 
20.
On Error Resume Next 
21.
datei.Variables.Item(VarName).Value = Wert 
22.
If Err.Number <> 0 Then 
23.
datei.variables.add VarName, Wert 
24.
end if 
25.
End Sub
Das klappt alles wunderbar, solange %anwendername% keine Umlaute enthält.
ist der Anwedername nämlich "Jansen, Jörg" , dann steht "Jansen, j”rg" im ta.xml und die Verarbeitung wird wegen Fehlers abgebrochen.


Nach allem, was ich hier gelesen habe, hat das mit dem ASCII Satz in der cmd und mit dem Ansi im Word zu tun.

Frage also:
Kann ich in der xml vielleicht irgendwie deklarieren (das das vbs-script Bescheid weiß), dass es sich um ASCII-Zeichen handelt und sie dem entsprechend behandelt werden sollen?
oder
Kann ich die Variablen irgendwie umwandeln, bevor ich sie in die xml datei schreibe?
Mitglied: Andre-Ha
23.09.2009 um 12:45 Uhr
Moin zusammen.

Bin ich denn wirklich der einzige, der Daten aus der Domäne in Office verarbeiten will?
Vielleicht hab ich's ja zu kompliziert formuliert:

Folgendes Beispiel:
C:\>echo üäö >>x.txt (Umlaute in ein txt-file geschrieben: OK)

C:\>type x.txt (txt-file aufgelistet:OK)
üäö

C:\>notepad x.txt txt-file mit Notepad geöffnet: nur "komische Zeichen")
„”
Was muss ich vorher tun, damit beim Öffnen des txt-files mit Notepad auch "üäö" angezeigt wird?
Bitte warten ..
Mitglied: 81825
23.09.2009 um 12:48 Uhr
Hallo,

alle Tage wieder .....

Das Forum hat eine Suchfunktion, die sogar funktioniert.
Bitte warten ..
Mitglied: Andre-Ha
24.09.2009 um 10:58 Uhr
Hallo Peter,
danke für den freundlichen Hinweis.

Ich hatte am Anfang meiner Nachfrage geschrieben:
Hallo. Ich bin schon einige Zeit als Gast hier und habe auch schon ein paar Lösungen gefunden. Aber jetzt steh ich auf dem Schlauch. Obwohl mir scheint, mein Problem müsste ein Allerwelts-Problem sein, hab ich hier noch keine Lösung gefunden.

Noch keine Lösung gefunden bedeutet dabei, dass ich selbstverständlich (dutzendfach) die Suchfuntion benutzt habe. Vielleicht habe ich aber die falschen Suchbegriffe verwendet!?

Ich habe das Problem teilweise selbst gelöst, indem ich die codepage temporär umgestellt habe:

01.
chcp 1252 >nul 
02.
echo ^<daten^> >>ta.xml 
03.
echo ^<aw-a^>%anwendername%^</anwendername^> >>ta.xml 
04.
echo ^</daten^> >>ta.xml 
05.
chcp 8502 >nul
Nun kommen die korrekten Umlaute in der ta.xml an, aber die Verarbeitung bricht immer noch ab mit der Meldung:
XML-Daten konnten nicht geladen werden

und danach vom Windows Script Host

Fehler: Objekt erforderlich - Code: 800A01A8 - Quelle: Laufzeitfehler in Microsoft VBScript

für diese Zeile im der ta.vbs
01.
setVariable "aw-n", mainelement.selectsinglenode("./aw-n").text
Das Problem ist also, das das VBS Script die Ümlaute nicht verarbeiten kann.
Kann man das anpassen?
Bitte warten ..
Mitglied: 81825
24.09.2009 um 11:14 Uhr
Hallo,
Vielleicht habe ich aber die falschen Suchbegriffe verwendet!?

Versuche es doch mal mit den völlig ungewöhnlichen Suchbegriffen "Umlaute Batch".
Bitte warten ..
Mitglied: Andre-Ha
29.09.2009, aktualisiert 18.10.2012
Danke, der Hinweis hat letztendlich zum Erfolg geführt.

Ich hab nach längerer Probiererei das Spielen mit den Codepages gelassen und ein script von
LotPings aus dem thread http://www.administrator.de/forum/umlaute-aus-variable-entfernen%2c-und ... eingebaut.

Das macht jetzt aus jedem ö ein oe usw und das Problem hat sich erledigt.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Problem mit "username" abfrage in Batch Dateien
gelöst Frage von KriAITBatch & Shell5 Kommentare

Hallo, ich habe eine Batch-Datei erstellt in der ein Ordner auf dem Desktop erstellt werden soll. Der Batch soll ...

Batch & Shell
AD Usernamen in CSV Vergleichen
gelöst Frage von HainoonBatch & Shell32 Kommentare

Hallo Liebe Community, Ich hatte zu diesem Thema schon einen ähnlichen Thread offen, habe das Thema vorerst auf Eis ...

Batch & Shell
(BATCH) Präfix aus einem USERNAME auslesen
Frage von TomMaverickBatch & Shell1 Kommentar

Hallo zusammen, ich versuche mich seit 2 Tagen an einem kleinen Batch Script, das automatisch meine Netzlaufwerke den Usern ...

Batch & Shell
Altebekanntes Batch umlaute Problem (txt editor)
Frage von RitriviaBatch & Shell2 Kommentare

Hallo ich will eine Batch Datei schreiben in der er prüfen soll welcher Ordner vorhanden ist und dann in ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 1 TagWindows 107 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 1 TagSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 2 TagenInternet5 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 2 TagenDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
Batch & Shell
Kann man mit einer .txt Datei eine .bat Datei öffnen?
gelöst Frage von HelloWorldBatch & Shell20 Kommentare

Wie schon im Titel beschrieben würde ich gerne durch einfaches klicken auf eine Text oder Word Datei eine Batch ...

Router & Routing
OpenWRT bzw. L.E.D.E auf Buffalo WZR-HP-AG300H - update
gelöst Frage von EpigeneseRouter & Routing11 Kommentare

Guten Tag, ich habe auf einem Buffalo WZR-HP-AG300H die alternative Firmware vom L.E.D.E Projekt geflasht. Ich bin es von ...

LAN, WAN, Wireless
WLAN Reichweite erhöhen mit neuer Antenne
gelöst Frage von gdconsultLAN, WAN, Wireless8 Kommentare

Hallo, ich besitze einen TL-WN722N USB-WLAN Dongle mit einer richtigen Antenne. Ich frage mich jetzt ob man die Reichweite ...

Windows 10
Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App
Tipp von kgbornWindows 107 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...