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

Mitglied: staga

staga (Level 1) - Jetzt verbinden

29.05.2012 um 16:51 Uhr, 3402 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 : https://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 (https://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
Microsoft
ARD-Doku - Das Microsoft Dilemma
Tipp von Knorkator vor 2 StundenMicrosoft2 Kommentare

Hallo zusammen, vor einigen Tagen lief in der ARD u.a. Reportage. Das Youtube Video dazu dürfte länger verfügbar sein. ...

Windows 10

Neue Sicherheitslücke in Windows 10 (Version 1709) durch Google öffentlich geworden

Information von kgborn vor 20 StundenWindows 10

Vor ein paar Tagen haben Googles Sicherheitsforscher vom Projekt Zero eine Sicherheitslücke im Edge-Browser publiziert. Jetzt wurde eine weitere ...

iOS
IOS 11.2.6 verfügbar
Information von sabines vor 1 TagiOS

Mit dem Update soll der Bug behoben werden, bei dem eine bestimmte Zeichenkette IOS zum Absturz gebracht hat.

Sicherheit
Sicherheitsrisiko: Die Krux mit 7-Zip
Information von kgborn vor 1 TagSicherheit8 Kommentare

Bei vielen Anwendern ist das Tool 7-Zip zum Entpacken von Archivdateien im Einsatz. Die Software ist kostenlos und steht ...

Heiß diskutierte Inhalte
Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server30 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

LAN, WAN, Wireless
VPN Cisco ASA5505 PaloAlto PA-200
gelöst Frage von YannoschLAN, WAN, Wireless25 Kommentare

Hallo zusammen, ich würde gerne ein Site-to-Site VPN zwischen den beiden Standorten aufbauen. PaloAlto PA200 Internetanschluss Deutsche Telekom GK ...

SAN, NAS, DAS
Qnap TS-453S Pro - Anbindung Active Directory
Frage von JuckieSAN, NAS, DAS13 Kommentare

Hallo zusammen, ich habe hier eine Qnap TS-453S Pro die sich mal so absolut gar nicht in das Active ...