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

VBS Dateien als UTF-8 speichern

Frage Entwicklung VB for Applications

Mitglied: staga

staga (Level 1) - Jetzt verbinden

29.05.2012 um 16:51 Uhr, 3346 Aufrufe, 6 Kommentare

Hallo zusammen

Ich habe folgende Frage und hoffe das mir hier jemand weiterhelfen kann.

ich möchte gerne via Script in einem Ordner alle bestehende Files mit der Endung xml speichern als txt mit der Option Encoding UTF-8!!!.

Ich habe bereits mehrfach gegoogelt jedoch bin ich nicht fündig geworden daher hoffe ich das mir hier jemand weiterhelfen kann.

gruss
staga
Mitglied: bastla
29.05.2012 um 18:31 Uhr
Hallo staga!
Ich habe bereits mehrfach gegoogelt
Vielleicht hättest Du gleich hier suchen sollen : http://www.administrator.de/forum/VBScript-Zeichensatz-konvertieren-148 ...

Grüße
bastla
Bitte warten ..
Mitglied: staga
30.05.2012 um 08:19 Uhr
Hallo bastla

Vielen dank für die Antwort, funktioniert soweit tip top.

Vielleicht kannst du oder jemand anders mir noch sagen was ich tun muss bzw. wie der Parameter heist damit ich alle Dateien in einem Verzeichnis abarbeiten kann. Im Script (http://www.administrator.de/forum/VBScript-Zeichensatz-konvertieren-148 ...) wird ja eine einzelne Datei angegeben ich habe jedoch mehrere Dateien in einem Verzeichnis.

Sorry wenn ich so dumm frage aber ich bin ein blutiger Anfänger was scripting angeht.

gruss
staga
Bitte warten ..
Mitglied: bastla
30.05.2012, aktualisiert um 08:59 Uhr
Hallo staga!

Dazu brauchst Du eine Schleife drumherum - ungetestet etwa:
01.
Ordner = "D:\Dein Ordner" 
02.
Typ = "xml" 
03.
Zusatz = "_neu" 
04.
Set fso = CreateObject("Scripting.FileSystemObject") 
05.
 
06.
For Each File In fso.GetFolder(Ordner).Files 'alle Dateien des Ordners durchgehen 
07.
    FileTyp = fso.GetExtensionName(File.Name) 'Dateityp ermitteln 
08.
    'Typ überprüfen (alles in Kleinbuchstaben umwandeln, da "XML" <> "xml") 
09.
    If LCase(FileTyp) = LCase(Typ) Then 
10.
        AnsiPath = File.Path 'Pfad ANSI-Datei 
11.
        Utf16Path = fso.GetParentFolderName(AnsiPath) & "\" & fso.GetBaseName(AnsiPath) & Zusatz & "." & FileTyp' Pfad UTF-Datei 
12.
        'ab hier wie im verlinkten Script 
13.
        '... 
14.
    End If 
15.
Next
Anmerkung: Natürlich wäre
fso.GetParentFolderName(AnsiPath)
nicht nötig, da Du den Ordner, in dem die Datei liegt, ohnehin schon kennst (steht in der Variablen "Ordner") - aber da Du ja etwas lernen willst ...

Grüße
bastla
Bitte warten ..
Mitglied: staga
30.05.2012, aktualisiert um 10:01 Uhr
Hallo
Danke erstmal. Also ich habe versucht das Script zusammen zu stellen. Irgendwie bringe ich es nicht zum laufen. Es erscheint immer ein fehler Linie 18 Char 9. Obschon jedesmal das erste File im Ordner erzeugt wird.

01.
Ordner = "C:\Temp\test\test1\ori" 
02.
AnsiPath = "C:\Temp\test\test1\ori" 
03.
Utf8Path = "C:\Temp\test\test1\ori" 
04.
Typ = "xml" 
05.
Zusatz = "_neu" 
06.
Set fso = CreateObject("Scripting.FileSystemObject") 
07.
 
08.
For Each File In fso.GetFolder(Ordner).Files 'alle Dateien des Ordners durchgehen 
09.
    FileTyp = fso.GetExtensionName(File.Name) 'Dateityp ermitteln 
10.
    'Typ überprüfen (alles in Kleinbuchstaben umwandeln, da "XML" <> "xml") 
11.
    If LCase(FileTyp) = LCase(Typ) Then 
12.
        AnsiPath = File.Path 'Pfad ANSI-Datei 
13.
        Utf8Path = fso.GetParentFolderName(AnsiPath) & "\" & fso.GetBaseName(AnsiPath) & Zusatz & "." & FileTyp' Pfad UTF-Datei 
14.
        'ab hier wie im verlinkten Script 
15.
        'Const AnsiPath = "C:\Temp\test\test1\ori" 
16.
        'Const Utf8Path = "C:\Temp\test\test1\ori" 
17.
 
18.
        Const adTypeBinary = 1 
19.
        Const adTypeText = 2 
20.
        Const adSaveCreateOverWrite = 2 
21.
  
22.
Dim BinaryStream, Text 
23.
     
24.
Set BinaryStream = CreateObject("ADODB.Stream") 
25.
         
26.
With BinaryStream 
27.
    .Type = adTypeText 
28.
    .Charset = "x-Ansi" 
29.
    .Open 
30.
    .LoadFromFile AnsiPath 
31.
     Text = .ReadText 
32.
    .Close 
33.
End With 
34.
         
35.
With BinaryStream 
36.
    .Type = adTypeText 
37.
    .Charset = "UTF-8" 
38.
    .Open 
39.
    .WriteText Text 
40.
    .SaveToFile Utf8Path, adSaveCreateOverWrite 
41.
    .Close 
42.
End With 
43.
        End If 
44.
        Next
Bitte warten ..
Mitglied: staga
30.05.2012 um 10:31 Uhr
Ok ich hab den Fehler gefunden. Ich habe die Zeilen 18-20 an den Anfang gesetzt - nun läufts.

Danke nochmals für die Hilfe

gruss
Staga
Bitte warten ..
Mitglied: bastla
30.05.2012 um 11:30 Uhr
Hallo staga!

Sorry, hatte nicht so genau darauf geachtet, dass Dieter (richtiger Weise) Konstante verwendet - diese dürfen natürlich im gesamten Script nur einmal erstellt werden.
Die Zeilen 2 und 3 sind überflüssig, da ja die Pfade in den Zeilen 12 und 13 jeweils neu ermittelt werden.
Noch ein Tipp: Gewöhne es Dir an, konsequent Einrückungen zu verwenden (zB auch für die Zeilen ab 22) - damit wird der Code wesentlich übersichtlicher ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Ubuntu
Dateiinhalt in UTF-8 ist nicht gleich UTF-8?
gelöst Frage von lexa-lexaUbuntu6 Kommentare

Hi Linux und PHP Gurus, ich habe ein Problem mit dem Zeichensatz *in* einer Datei und komme nicht weiter: ...

Batch & Shell
Csv (und andere Dateien) in charset utf-8 umwandeln (batch)
gelöst Frage von OKIDOKIBatch & Shell4 Kommentare

Guten Abend, ich hänge seit Tagen an einem Problem: Eine csv und php Datei möchte ich, wie der Titel ...

Python
Python mal utf-8 mal nicht
gelöst Frage von peterpaPython1 Kommentar

Hallo, ich versuche gerade ein Programm zu schreiben, in Python, welches eine große HTML Datei in mehrere kleine aufspaltet. ...

HTML
UTF-8 wird nicht nach FTP-Transfer nicht korrekt dargestellt
gelöst Frage von spinnifexHTML4 Kommentare

Hallo allerseits! Nachdem uns unser Webhoster offenbar nicht helfen kann, also hier meine Bitte um einen hilfreichen Tipp. Zur ...

Neue Wissensbeiträge
Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 6 StundenViren und Trojaner1 Kommentar

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 10 StundenRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 3 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 4 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Heiß diskutierte Inhalte
Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Vmware
DOS 6.22 in VMWare mit CD-ROM
gelöst Frage von hesperVmware8 Kommentare

Hallo zusammen! Ich hab ein saublödes Problem. Es ist eine VMWare mit DOS 6.22 zu erstellen auf dem ein ...

Cloud-Dienste
PIM als SaaS Nutzungsgebühr
Frage von vanTastCloud-Dienste8 Kommentare

Moin, wir haben uns ein PIM (Product Information Management) nach unseren Ansprüchen für viel Geld als SaaS-Lösung bauen lassen. ...